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

Bash คือ Bourne Again SHell ผู้สืบทอดมาจาก Unix sh (shell) คลาสสิก

4
ฉันจะค้นหาพา ธ ไปยังไฟล์สั่งการใน OSX ได้อย่างไร
มีคำสั่งที่ฉันสามารถใช้เพื่อค้นหาพา ธ ไปยัง executable ได้อย่างง่ายดายหรือไม่? ฉันกำลังมองหาตัวระบุบนเครื่องของฉัน - เช่น pwd? pwd identify => /usr/local/bin/identify
46 mac-osx  bash  terminal 

5
Bash find คำสั่งเอาต์พุตแบบละเอียด
มีวิธีที่จะบอกfindคำสั่งbash เพื่อส่งออกสิ่งที่มันทำ (โหมด verbose)? ตัวอย่างเช่นสำหรับคำสั่ง: find /media/1Tb/videos -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \;เพื่อส่งออก: Found /media/1Tb/videos/102, executing rm -rf /media/1Tb/videos/102 ...
45 linux  bash  find 

4
ฉันจะเช็คอินทุบตีได้อย่างไรถ้าเชลล์ทำงานในโหมดอินเตอร์แอคทีฟ
ฉันจะบอกได้อย่างไร (ใน~/.bashrc) ว่าฉันกำลังทำงานในโหมดอินเตอร์แอคทีฟหรือว่าดำเนินการคำสั่งผ่าน ssh ฉันต้องการหลีกเลี่ยงการพิมพ์ ANSI escape sequences ด้วย.bashrcหากเป็นลำดับหลัง
45 bash  shell 

5
ฉันจะบันทึกการกระทำของสคริปต์ทุบตีทั้งหมดได้อย่างไร
ฉันต้องการบันทึกข้อมูลบันทึกทั้งหมดซึ่งมีทั้งข้อความแสดงข้อผิดพลาดจากเอาต์พุตสคริปต์ของฉันและเปลี่ยนเส้นทางทั้งหมดเป็นไฟล์บันทึก ฉันมีสคริปต์เหมือนด้านล่าง: #!/bin/bash ( echo " `date` : part 1 - start " ssh -f admin@server.com 'bash /www/htdocs/server.com/scripts/part1.sh logout exit' echo " `date` : sleep 120" sleep 120 echo " `date` : part 2 - start" ssh admin@server.com 'bash /www/htdocs/server.com/scripts/part2.sh logout exit' echo " `date` : part 3 - start" …

14
หยุดการเข้าสู่ระบบ ssh จากการพิมพ์ motd จากลูกค้าหรือไม่
ฉันได้ตั้งค่ารหัสผ่าน SSH ไว้แล้ว แต่จะพิมพ์ MoTD เมื่อลงชื่อเข้าใช้มีการหยุดที่เกิดขึ้นจากฝั่งไคลเอ็นต์หรือไม่ ฉันพยายามแล้วssh -qแต่ก็ใช้ไม่ได้ ฉันไม่ต้องการใช้~/.hushloginและไม่ต้องการเปลี่ยนการตั้งค่าเซิร์ฟเวอร์ >/dev/null 2>&1สิ่งเดียวที่สามารถทำงานเป็นที่เงียบสงบการส่งออกทั้งหมดที่มี อย่างไรก็ตามฉันไม่ต้องการละเว้นข้อผิดพลาดในกรณีที่มีปัญหาจริง แม้แต่การทำ>/dev/nullไม่ได้ผลsshดูเหมือนจะพิมพ์ motd ไปที่ stderr อัปเดต & การใช้เหตุผลฉันกำลังสำรองข้อมูลใน cron ฉันไม่ต้องการรับอีเมล cron ยกเว้นว่ามีข้อผิดพลาดเกิดขึ้น อย่างไรก็ตามหากพิมพ์ motd ฉันจะได้รับอีเมลตลอดเวลา ฉันต้องการที่จะให้ motd ถูกพิมพ์เพราะมันมีความหมายตามกฎหมาย Motd กล่าวว่า "ห้ามการเข้าถึงที่ไม่ได้รับอนุญาต" คุณต้องมีคำแถลงประเภทนี้ในที่นั่นเพื่อป้องกันไม่ให้บุคคลอื่นเข้าถึงได้โดยชอบด้วยกฎหมาย (เช่นไม่มีเครื่องหมายการบุกรุก) ดังนั้นฉันไม่ต้องการที่จะปิดการใช้งานตลอดเวลา
43 linux  ssh  bash 

5
ขึ้นบรรทัดใหม่คั่น xargs
เป็นไปได้ไหมที่จะxargsใช้newline เป็นตัวคั่นเท่านั้น ? (ในทุบตีบน Linux และ OS X หากเรื่องนั้น) ฉันรู้ว่า-0สามารถใช้งานได้ แต่มันเป็น PITA เนื่องจากไม่ใช่ทุกคำสั่งรองรับเอาต์พุตที่คั่นด้วย NUL
40 linux  bash  xargs 

3
วิธีรับลายนิ้วมือทั้งหมดสำหรับไฟล์. ssh / authorized_keys (2)
มีวิธีง่ายๆในการรับรายการลายนิ้วมือทั้งหมดที่ป้อนใน. ssh / authorized_keys || หรือไม่ .ssh / authorized_keys2 ไฟล์? ssh-keygen -l -f .ssh/authorized_keys จะคืนลายนิ้วมือของบรรทัดแรก / รายการ / publickey แฮ็คกับ awk: awk 'BEGIN { while (getline < ".ssh/authorized_keys") { if ($1!~"ssh-(r|d)sa") {continue} print "Fingerprint for "$3 system("echo " "\""$0"\"> /tmp/authorizedPublicKey.scan; \ ssh-keygen -l -f /tmp/authorizedPublicKey.scan; \ rm /tmp/authorizedPublicKey.scan" ) } …
39 ssh  bash  ssh-keys  awk  ssh-keygen 

8
bash / sed / awk / etc ลบบรรทัดใหม่อื่น ๆ ออก
คำสั่ง bash ให้ผลลัพธ์นี้: Runtime Name: vmhba2:C0:T3:L14 Group State: active Runtime Name: vmhba3:C0:T0:L14 Group State: active unoptimized Runtime Name: vmhba2:C0:T1:L14 Group State: active unoptimized Runtime Name: vmhba3:C0:T3:L14 Group State: active Runtime Name: vmhba2:C0:T2:L14 Group State: active ฉันต้องการส่งไปที่บางสิ่งเพื่อให้มีลักษณะดังนี้: Runtime Name: vmhba2:C0:T1:L14 Group State: active Runtime Name: vmhba3:C0:T3:L14 Group State: active unoptimized Runtime …
39 bash  sed  awk 

5
ไปป์ wget ไปยัง / dev / null ใน cron
ฉันใช้คำสั่งต่อไปนี้ทุก 5 นาทีใน crontab ของฉันเพื่อให้ Phusion Passenger มีชีวิตอยู่ */5 * * * * wget mysite.com > /dev/null 2>&1 เมื่อฉันเรียกใช้มันจะทำการ wget บนเส้นทาง URL ของไซต์ STDOUT / STDERR ไปยัง / dev / null เมื่อฉันเรียกใช้จากบรรทัดคำสั่งมันทำงานได้ดีและไม่สร้างไฟล์ index.html ในโฮมไดเร็กตอรี่ของฉัน เมื่อมันทำงานจาก cron มันจะสร้างไฟล์ index.html ใหม่ทุก ๆ ห้านาทีปล่อยให้ฉันมีไฟล์ดัชนีมากมายที่ฉันไม่ต้องการ ไวยากรณ์ของฉันไม่ถูกต้องสำหรับการรันงาน cron หรือไม่? จากบรรทัดคำสั่งมันทำงานได้โดยไม่มีปัญหา แต่จาก cron มันสร้างไฟล์ index.html ในไดเรกทอรีบ้านของฉัน …
38 linux  bash  wget 

5
Cron: รับข้อผิดพลาดในอีเมลเท่านั้นหรือ
ในที่สุดฉันก็ตั้งค่าตารางเวลาการสำรองข้อมูลที่เป็นจริงในข้อมูลของฉันผ่านเชลล์สคริปต์ซึ่ง cron จัดการในช่วงเวลาที่ จำกัด น่าเสียดายที่ฉันได้รับอีเมลว่างเปล่าทุกครั้งที่มีการดำเนินการ CRON และไม่เฉพาะเมื่อมีสิ่งผิดปกติ เป็นไปได้หรือไม่ที่จะให้ CRON ส่งอีเมลเมื่อเกิดข้อผิดพลาดเช่น ของฉันTARไม่ทำงานตามที่ตั้งใจไว้? นี่คือวิธีการตั้งค่า crontab ของฉันในขณะนี้; 0 */2 * * * /bin/backup.sh 2>&1 | mail -s "Backup status" email@example.com ขอบคุณมาก!
38 bash  shell  cron  schedule 


8
ตรวจสอบว่าระบบไฟล์หรือพาร์ติชันติดตั้ง RO หรือ RW ผ่าน Bash Script หรือไม่
มีวิธีง่าย ๆ ในการตรวจสอบว่าระบบแฟ้มที่เมาท์ถูกเมาท์เป็นอ่านอย่างเดียวหรืออ่านเขียน ฉันกำลังคิดจะไปป์ไลน์mountแต่ฉันคิดว่าอาจจะมีวิธีที่ง่ายกว่านี้
37 linux  bash  mount 

8
ฉันจะขอให้หน้าจอทำงานเหมือนเปลือก bash มาตรฐานได้อย่างไร
เพิ่งเรียนรู้เกี่ยวกับคำสั่งหน้าจอบน linux - มันเป็นอัจฉริยะ ฉันรักมัน. อย่างไรก็ตามหน้าจอเทอร์มินัล / พรอมต์ที่เกิดขึ้นจริงจะมีลักษณะและการทำงานแตกต่างไปจากการแจ้งให้ใช้ bash มาตรฐาน นั่นคือสีไม่เหมือนกันการเติมแท็บดูเหมือนจะไม่ทำงาน ฯลฯ มีวิธีที่ฉันสามารถบอกให้หน้าจอทำงานเหมือนปกติ (อย่างน้อยปกติเหมือนในสิ่งที่ฉันคุ้นเคย) พร้อมท์ทุบตีหรือไม่? ข้อมูลเพิ่มเติม ฉันกำลังเชื่อมต่อผ่าน ssh จาก Mac (Terminal) ไปยังกล่อง linux ที่ไม่มีหัว (Ubuntu) หลังจากเข้าสู่ระบบผมมีและเมื่อผมทำงานหน้าจอผมมีTERM=xterm-colorTERM=screen ฉันจะลองทำตามคำแนะนำด้านล่างเพื่อดูว่าฉันสามารถเปลี่ยน$TERMค่าได้ก่อน
37 bash  gnu-screen  xterm 

3
Bash: ความแตกต่างระหว่างตัวดำเนินการ> และ >>? [ปิด]
ฉันเป็นมือใหม่และไม่รู้มากเกี่ยวกับผู้สอน bash.my ขอให้ฉันทำ cat script และสังเกตการณ์ผลลัพธ์จากนั้นบอกโอเปอเรเตอร์> คืออะไรและอะไรคือความแตกต่างระหว่างโอเปอเรเตอร์> & >> และฉันไม่สามารถหาเหตุผลใด ๆ ดังนั้นโปรดช่วย :)
37 unix  bash 

2
ทางตรงไปข้างหน้าเพื่อเรียกใช้ ssh-agent และ ssh-add ในการเข้าสู่ระบบผ่าน SSH?
ฉันพยายามที่จะให้คำสั่งต่อไปนี้ถูกดำเนินการอัตโนมัติเมื่อฉันลงชื่อเข้าใช้เซิร์ฟเวอร์ของฉันผ่าน ssh: ssh-agent /bin/bash ssh-add ~/.ssh/id_rsa คีย์ ssh ของฉันมีข้อความรหัสผ่านและฉันไม่ต้องใส่มันอีกครั้งต่อการเข้าสู่ระบบ ฉันพยายามวางสิ่งนี้ลงในไฟล์. bashrc ของฉันอย่างไรก็ตามฉันเชื่อว่า ssh-agent เริ่มเซสชัน bash ใหม่ เมื่อฉันพยายามที่จะเข้าสู่ระบบหลังจากที่มีสิ่งนี้ใน. bashrc ของฉันมันจะติดและฉันต้องพิมพ์ 'ทางออก' เพื่อดูพรอมต์ 'ป้อนรหัสผ่านเพื่อปลดล็อคกุญแจ' ข้อเสนอแนะอื่น ๆ ? เซิร์ฟเวอร์กำลังใช้งาน Ubuntu LTS

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