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

Bash (Bourne-Again SHell) เป็นเชลล์ที่ใช้ในอินเตอร์เฟสบรรทัดคำสั่งของ Ubuntu ตามค่าเริ่มต้น

2
ฉันจะหาไฟล์วิดีโอทั้งหมดในระบบของฉันได้อย่างไร?
ฉันลองใช้การค้นหา*.*และกรองไฟล์ Unity Lens โดย Last Modified = All, Type = Videos, และ Size = All แต่ไม่พบอะไรเลยแม้ว่าฉันรู้ว่ามีไฟล์. 3gp อยู่ในโฟลเดอร์ Pictures ของฉัน ฉันรู้ว่าฉันมีไฟล์วิดีโอจำนวนมากในไดรฟ์อื่นที่ติดตั้งบนระบบไฟล์เช่นกัน ฉันรวบรวมรายชื่อของส่วนขยายที่น่าจะเป็นและฉันได้ลองทำซ้ำfindคำสั่งจำนวนมากโดยใช้คำสั่ง find ./ -name "* .ext" -o (ฯลฯ ฯลฯ โฆษณา nauseum) โดยไม่มีโชค ทางออกคืออะไร?

1
รันสองคำสั่งในกรณีของ || หรือ &&
ฉันได้อ่านเกี่ยวกับ && และ || และฉันต้องการเรียกใช้สองคำสั่งในกรณีเท็จ ฉันได้พยายาม;แต่ที่ทำงานอยู่ตลอดเวลา ฉันได้ลองใส่ไว้ในวงเล็บปีกกา{ command1; command2 }แต่นั่นส่งผลให้เกิดข้อผิดพลาดทางไวยากรณ์ ฉันต้องการทำบางสิ่งเช่น command && echo "Ok, continuing" || echo "Check internet connection"; exit 1 ซึ่งจะออกก็ต่อเมื่อไม่มีการเชื่อมต่ออินเทอร์เน็ต

4
Python virtualenvwrapper ปัญหาในการเริ่มต้น hooks เริ่มต้น
ในการติดตั้งใหม่ของ 16.04 ฉันพยายามติดตั้ง virtualenvwrapper โดยทำตามคำตอบที่ยอดเยี่ยมนี้โดย Gerhard Burger หลังจากกำหนดค่า.bashrcแล้วทุกครั้งที่เปิดหน้าจอแสดงผล bash: /usr/local/bin/python2.7: No such file or directory virtualenvwrapper.sh: There was a problem running the initialization hooks. If Python could not import the module virtualenvwrapper.hook_loader, check that virtualenvwrapper has been installed for VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2.7 and that PATH is set properly. ตำแหน่งสคริปต์คือ $ sudo find …

3
จะเปลี่ยนค่าของอาร์กิวเมนต์ในสคริปต์ได้อย่างไร?
ฉันลองใช้สคริปต์ง่ายๆขนาดเล็กต่อไปนี้: #!/bin/bash $1="bar" echo $1 แต่เมื่อฉันเรียกใช้./script fooฉันได้รับข้อผิดพลาดและค่าจะไม่เปลี่ยนแปลง: /home/mika/script: line 2: foo=bar: command not found foo ฉันรู้ว่า $ 1 คืออาร์กิวเมนต์แรกที่คุณส่งผ่านไปยังสคริปต์ของคุณ แต่ถึงอย่างนี้ฉันก็ต้องการเปลี่ยนค่าของมัน

3
วิธีตรวจสอบว่ามีการเพิ่ม PPA ในรายการแหล่งที่มาของ apt ใน bash script หรือไม่
ทำคนรู้วิธีการตรวจสอบว่ามีการเพิ่ม PPA แล้วกับระบบของฉันก่อนที่ฉันจะเพิ่มกับคำสั่งในadd-apt-repositoryshell script นั่นจะเป็นประโยชน์มาก ขอบคุณ.

5
เหตุใดการตั้งชื่อแทนใน. โปรไฟล์จึงไม่ทำงาน
ฉันมีสิ่งนี้เป็นบรรทัดสุดท้ายใน. profile ของฉัน: alias gl="cd /home/jrenner/glances/glances" แต่แม้หลังจากรีบูตฉันไม่พบคำสั่งเมื่อพิมพ์ gl เกิดอะไรขึ้น? ฉันเข้าสู่ระบบในฐานะผู้ใช้ที่ถูกต้อง

1
การเชื่อมต่อกับ MySQL ใน Bash (ไม่ได้ติดตั้ง MySQL)
ฉันพยายามเชื่อมต่อกับฐานข้อมูล MySQL ระยะไกลใน Bash บนเซิร์ฟเวอร์ที่โฮสต์ฐานข้อมูลฉันสามารถพิมพ์: mysql -u _username_ -p เพื่อเชื่อมต่อ ฉันต้องการพิมพ์: mysql -h _host_ -u _username_ -p เพื่อเชื่อมต่อจากเซิร์ฟเวอร์อื่น ฉันไม่ได้ติดตั้ง MySQL บนไคลเอนต์ดังนั้นจึงไม่พบคำสั่ง มีบางอย่างที่ฉันสามารถติดตั้ง (เหมาะสำหรับ apt-get) นอกเหนือจาก MySQL-server ทั้งหมดดังนั้นฉันจึงสามารถใช้คำสั่ง mysql ในการทุบตีได้หรือไม่?
11 bash  mysql 


1
bash: file: ไม่พบคำสั่ง
ฉันมี ubuntu docker container ฉันติดตั้งแอปพลิเคชั่นที่รวบรวมใน windows สำหรับ Ubuntu มันไม่ทำงานและฉันต้องการตรวจสอบว่ามีความไม่ตรงกันระหว่างสถาปัตยกรรมของระบบและไฟล์ ฉันลองคำสั่งนี้ > file myapp แต่น่าเสียดายที่ผลลัพธ์คือ > bash: file: command not found จริงๆแล้วในไดเรกทอรี bin ไม่มีคำสั่ง "ไฟล์" มันอยู่ที่อื่นหรือฉันต้องการฉันจะติดตั้งหรือไม่

1
Bash / proc / sys / net / ipv4 / ip_forward: ปฏิเสธการอนุญาต
ฉันพยายามวิ่ง echo 1 > /proc/sys/net/ipv4/ip_forward มันบอกว่า Access ถูกปฏิเสธจากการทุบตีแล้วฉันก็: sudo chmod 1+x /proc/sys/net/ipv4/ip_forward และตอนนี้ก็แจ้งว่าไม่อนุญาตให้ใช้งาน ฉันจะเข้าถึงได้อย่างไร


2
ตัวแปรไม่แยกวิเคราะห์เป็นสตริง
ปัญหา ฉันพยายามแยกระดับสัญญาณ wifi ในวิธีต่อไปนี้ในสคริปต์ทุบตี (คำพูดดูเหมือนจะไม่แตกต่างกัน): string="$(iwconfig wlan0 | grep -I Signal)" ถ้าฉันecho $stringฉันได้รับสิ่งที่ฉันคาดหวัง: Link Quality=63/70 Signal level=-47dBm แต่ถ้าฉันลองรับสายอักขระย่อยecho ${string:5}มันจะส่งคืนสิ่งเดียวกัน debuging: ถ้าฉันวางผลลัพธ์wconfig wlan0 | grep -I Signalโดยตรงลงในตัวแปร: string="Link Quality=63/70 Signal level=-47dBm"ทุกอย่างทำงานตามที่คาดไว้ echo $string # Link Quality=63/70 Signal level=-47dBm echo ${string:5} # Quality=63/70 Signal level=-47dBm คำถาม:ตามอินเทอร์เน็ตตัวแปรทุบตีทั้งหมดจะถูกเก็บเป็นสตริงอักขระ ดังนั้นผลลัพธ์การดีบักควรเหมือนกันกับปัญหาดั้งเดิมของฉัน มีเหตุผลบางอย่างที่ไม่แยกวิเคราะห์ข้อความในปัญหาดั้งเดิมหรือไม่?

3
การขยายด้วย * .txt ในเชลล์ไม่ทำงานหากไม่มีไฟล์. txt อยู่
ฉันกำลังเล่นกับการขยายตัวและฉันสังเกตเห็นพฤติกรรมที่แปลกประหลาด ฉันพยายามทำ: echo ./*.txt และฉันไม่มีไฟล์. txt ใด ๆ ในไดเรกทอรีปัจจุบันของฉัน ผลลัพธ์ที่ฉันได้รับคือ: ./*.txt ฉันแค่อยากรู้อยากเห็น: ทำไมฉันถึงได้รับนี้ ฉันคาดหวังว่าจะไม่ได้รับผลลัพธ์ใด ๆ PS: เมื่อฉันมี.txtไฟล์การขยายถูกตีความอย่างถูกต้อง กล่าวอีกนัยหนึ่งว่าฉันมีไฟล์smthn.txtเสียงสะท้อนจริงcurrent_directory/smthn.txtๆ

6
จะลบโคลอนแรก ':' ออกจากเวลาได้อย่างไร
ฉันใหม่กับการเขียนโปรแกรม !! ทุกคนสามารถช่วยในการลบ:ที่ตำแหน่งแรกในการประทับเวลา::29.06.2019 23:03:17 ปัจจุบันฉันพยายามทำโดยใช้คำสั่ง awk / cut ดังที่แสดงด้านล่าง: TDS="$(grep 'Logfile started' process.log | awk '{print $3,$4}' | cut -d: -f2)" echo "$TDS" 29.06.2019 23 และผลลัพธ์ไม่ใช่สิ่งที่ฉันต้องการ! 29.06.2019 23:03:17ฉันต้องการพิมพ์เป็น

2
เครื่องหมายคำพูดเดี่ยวและแบ็กสแลช
~$ echo $'\'test' 'test man bash พูดว่า: การใส่อักขระในเครื่องหมายคำพูดเดียวจะคงคุณค่าของตัวอักษรแต่ละตัวไว้ในเครื่องหมายคำพูด เครื่องหมายคำพูดเดี่ยวอาจไม่เกิดขึ้นระหว่างเครื่องหมายคำพูดเดี่ยวแม้ว่าจะนำหน้าด้วยเครื่องหมายทับขวา ทำไมมันทำงานในechoคำสั่ง - แล้ว?
10 bash 

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