คำถามติดแท็ก bash

Bash เป็นเชลล์ฟรีสำหรับระบบปฏิบัติการยูนิกซ์จากโครงการ GNU

1
ลบสคริปต์ Injected ใน Crontab
ฉันมีเซิร์ฟเวอร์ที่ติดตั้งกับ Ubuntu 16.4.5 LTS เมื่อฉันตรวจสอบ crontab มีสคริปต์ที่ดาวน์โหลดจากเว็บไซต์ที่ไม่ระบุชื่อและเรียกใช้สคริปต์ ฉันพยายามลบกำหนดการ แต่สคริปต์ติดตั้งอีกครั้งใน crontab นี่คือสคริปต์ที่ดาวน์โหลดมาจาก crontab คุณสามารถบอกฉันได้ว่าชื่อของสคริปต์นี้คืออะไรและจะลบออกจากเซิร์ฟเวอร์ของฉันได้อย่างไร ไฟล์สคริปต์

1
วิธีการเปลี่ยนไดเรกทอรีใน Ubuntu
ฉันกำลังพยายามเปลี่ยนไดเรกทอรีของลิงก์สัญลักษณ์ ln -s /usr/local/mysql-cluster-gpl-7.1.5-linux-i686-glibc23 /usr/local/mysql เมื่อฉันพิมพ์คำสั่งcd / usr / local / mysqlมันทำให้ฉันมีข้อผิดพลาด root@lucky:cd /usr/local/mysql bash: cd: mysql: No such file or directory และผลลัพธ์ ls ของฉันคือ root@lucky:~# ls -la /usr/local/ drwxr-xr-x 6 root root 4096 Dec 15 16:22 lib lrwxrwxrwx 1 root root 9 Nov 12 10:18 man -> share/man lrwxrwxrwx …

1
เรียกใช้สคริปต์ทุบตี
มีสคริปต์ง่าย ๆ : echo "file: $0" เมื่อถูกเรียกเช่นนั้น: ทุบตี myscript.sh หรือ ./myscript.sh ให้ชื่อไฟล์ของสคริปต์ ( file: myscript.sh) ตามที่คาดไว้ แต่เมื่อเรียกใช้: แหล่ง myscript.sh หรือ . ./myscript.sh ให้ชื่อเชลล์ ( bash) แทนชื่อไฟล์สคริปต์ ทำไมถึงเป็นเช่นนี้
linux  bash 

0
การเปิดโปรแกรมจากไดเรกทอรี
ฉันประสบปัญหาขณะเปิดไฟล์ผ่านเทอร์มินัล ตัวอย่างเช่นเมื่อฉันไปที่ไดเรกทอรี PhpStorm cd /home/downloads/phpstorm/และฉันกำลังเข้าไปphpstorm.shก็ไม่ได้เปิดขึ้นโดยบอกว่าไม่มีคำสั่งหรือไดเรกทอรีดังกล่าว ในทางกลับกันเมื่อฉันเพียงแค่ใช้เมาส์ของฉันและลากและวางไอคอน phpstorm.sh ไปยังเทอร์มินัลแล้วกด Enter มันจะเปิดขึ้นโดยไม่มีปัญหาใด ๆ อย่างที่คุณเห็นฉันเป็นคนใหม่ที่มีลินุกซ์ แต่มันทำให้ฉันสับสน ฉันลองเพิ่มไปที่ $ PATH แต่มันก็ไม่ได้ช่วยบางทีฉันอาจทำอะไรผิดพลาดหรือฉันแค่ไม่เข้าใจตรรกะของมัน ความช่วยเหลือใด ๆ โปรด?

3
ทำความรู้จักบรรทัดคำสั่งใน Ubuntu [ปิด]
ฉันต้องการทราบว่ามีการอ้างอิงใด ๆ หรือไม่ที่ฉันสามารถติดตามได้ในทุกสิ่งที่เกิดขึ้นใน GNOME-Terminal ฉันกำลังศึกษาเพื่อเป็นนักพัฒนาเว็บและฉันจะก้าวข้ามไปที่ Web Administer ฉันต้องการลงทุน ถึงเวลาที่จะเรียนรู้สิ่งที่บรรทัดคำสั่งด้วยหัวใจ ขณะนี้ฉันใช้ Ubuntu เพื่อเริ่มฉันใช้ Linux ตั้งแต่เดือนมกราคมดังนั้นฉันจึงไม่รู้ว่ากำลังทำอะไรกับ Ubuntu ฉันรู้แค่คำสั่งเล็กน้อย

2
วิธีไพพ์ stdout แบบไบนารีไปยังการเชื่อมต่อ tls ที่บีบอัดได้อย่างไร
เมื่อไม่นานมานี้ฉันสามารถใช้: cat somefile.txt | openssl s_client -connect server:port -quiet -comp อย่างไรก็ตามคำสั่งนี้ใช้งานไม่ได้แม้กับ-ign_eof: $ cat somefile.bmp | openssl s_client -connect server:port -quiet -ign_eof write:errno=32 เพราะ somefile ประกอบด้วยข้อมูลไบนารีบริสุทธิ์(ที่.bmpเป็นรูปแบบเดียวที่ได้รับการยอมรับโดยเซิร์ฟเวอร์และsomefile.bmpจะต้องใช้เวลามากเกินไปที่จะส่งการบีบอัด) ไม่ใช่เพื่อความปลอดภัยเนื่องจากข้อมูลที่ฉันส่งเป็นข้อมูลสาธารณะ แต่ฉันไม่ได้ควบคุมเซิร์ฟเวอร์ที่ไม่อนุญาตการเชื่อมต่อที่ปลอดภัย

1
ฉันจะป้องกันการนอนไม่ให้สับสนได้อย่างไร
ฉันรันสคริปต์สองตัว ทั้งสองเป็นรหัสเดียวกัน แต่พวกเขาต้องทำงาน 5 นาทีเพื่อป้องกันการชนกัน สคริปต์แรก: #! / bin / sh # First run line="Bonus check" stamp=$(date +%Y%m%d-%H%M) # sleep 90s echo "$stamp\t $line" >> /home/rdanner3/Desktop/CardParty.log { export DISPLAY=:0.0 google-chrome [URL masked] } sleep 45s # google-chrome pkill -f chrome # Second run to seventh run identical to above; stripped …

1
เซียร่า: นามแฝงใน. bash_profile ไม่ทำงาน
ฉันไม่สามารถหาวิธีสร้างนามแฝง bash ในเทอร์มินัลใน mac ปัจจุบันของฉันได้ ฉันอยู่ที่เซียร่าและทำ 1. ) nano .bash_profile 2. ) ฉันเพิ่มบรรทัดที่ 2 ต่อไปนี้: 3. ) เมื่อใช้งานvncฉันได้รับ "ไม่พบคำสั่ง" ฉันทำอะไรผิดที่นี่

1
ฉันจะเพิ่ม bash one-liner ของฉันให้เป็นค่าเริ่มต้นได้อย่างไร
ฉันมีในสคริปต์ที่ครอบคลุมหนึ่งซับนี้: grep -P -o "(?s)description\".+>" ./Hlinks.html \ | grep -P -o "(?s)ISBN[^:]{0,1}: {0,1}[-0-9X]+[ \|]*" \ | perl -p -e "s/ISBN[^:]*:*|[\|| ]//g" | sed -n "/.*/p;1q" > ./nISBN.txt ตอนนี้ฉันต้องการรับเอาท์พุทเริ่มต้น (fe "NA") เมื่อหนึ่งซับออกไม่มีอะไร ฉันจะทำให้หนึ่งซับของฉันสมบูรณ์ขึ้นเพื่อรับความปรารถนานี้ได้อย่างไร ขอบคุณมาก วอลเตอร์

1
สคริปต์ทุบตีแบบขนานกำลังมองหารหัสผ่าน
สิ่งที่ฉันมีคือสคริปต์ด้านล่างสำหรับการเดารหัสผ่าน ฉันจะทำให้มันขนานโดยใช้คำสั่งได้parallelอย่างไร ฉันรู้ว่าไม่มี Cygwin ในขนาน แต่ฉันสามารถใช้สคริปต์นี้บนเครื่อง Linux #!/bin/bash while read -r p; do "/cygdrive/c/Program Files/TrueCrypt/TrueCrypt.exe" /a /s /l x /q /v container.tc /p"$p" code=$? echo "$code $p">>log.txt echo "$code $p" if [ "$code" -ne 1 ]; then echo "$p" >> found.txt ; echo -e "\\a" ; exit ; fi done …

0
วิธีใช้คำสั่ง case สำหรับการกำหนดเวอร์ชันระดับ OS
ฉันพยายามที่จะเขียนสคริปต์ซึ่งโดยทั่วไปจะได้รับการดำเนินการตามรุ่นของระบบปฏิบัติการ .. นี่คือสิ่งที่ฉันทำจนถึงตอนนี้ .. #!/bin/bash publicyum="yum.oracle.com" osrelease0=`lsb_release -r | awk {'print $2'}` osrelease1=`lsb_release -r | awk {'print $2'}` arch=`uname -p` wget -q --spider http://$publicyum if [ $? -eq 0 ]; then case $osrelease0 in '5') ;; '5.1') ;; '5.2') ;; '5.3') ;; '5.4') ;; '5.5') ;; '5.6') ;; '5.7') ;; …
linux  bash  shell 

2
อนุญาตให้ผู้ใช้ที่ไม่ใช่รูทเพื่อรันคำสั่งเฉพาะ
ในชื่อ - ฉันต้องการอนุญาตให้ผู้ใช้ที่ไม่ใช่รูทสามารถดำเนินการคำสั่งเฉพาะ แต่ไม่ใช่ไบนารี เช่น: # killall sshd แต่ไม่อนุญาตให้ฆ่ากระบวนการใด ๆ
linux  bash  root 

1
ค้นหาสตริงระหว่างการประทับเวลาสองครั้งโดยเริ่มจากด้านล่างของไฟล์
ฉันพยายามค้นหาสตริงCannot proceed: the cube has no dataในไฟล์ test.txt ขนาดใหญ่เฉพาะระหว่างการประทับเวลาเมื่อวานนี้ 22:30 น. ถึงวันนี้ 00:30 น. สคริปต์: tac test.txt | awk -v today=$(date "+%d") -v yesterday=$(date "+%d" -d yesterday) '/Cannot proceed: the cube has no data/ {f=$0; next} f{if (($3==yesterday && $4>"22:30:00") || ($4==today && $4<="00:30:00")) {print; print f} f=""}' test.txt: [Thu …
linux  bash  shell 

1
เรียกใช้งานเชลล์ย่อย bash และคาดว่าคำสั่ง
จากเชลล์สคริปต์ฉันจะเปิดใช้เชลล์ย่อย bash สำหรับผู้ใช้ & รอให้ผู้ใช้พิมพ์ exit ที่พรอมต์เชลล์ย่อยของ bash ได้อย่างไร ฉันพยายามbash -c expect -c 'expect "exit" {send "Exiting\n"}';แต่มันไม่ทำงาน กรุณาช่วย. ขอบคุณ

1
รูปแบบจับคู่อักขระบางตัวหลังเครื่องหมายทับสุดท้าย
ฉันพยายามที่จะทำต่อไปนี้: -แฟ้มรายการหรือไดเรกทอรีที่มีตัวอักษรบางอย่างจากนั้นเฉือนที่ผ่านมาในการค้นหาเส้นทางสำหรับตัวละครโดยเฉพาะอย่างยิ่งและแทนที่พวกเขาด้วย ฉันสร้างต่อไปนี้ใน regexpr แต่มันไม่ทำอะไรกับsed: find . -name "*[<>:\\|?]*" | while read -r; do mv "${REPLY}" \ "`echo ${REPLY} | sed "s/([^/]+$)*([<>:\\|?])/-/g"`"; done
bash  regex  find  sed 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.