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

เชลล์ Unix ก่อนหน้านี้ใช้โดย Terminal ใน macOS จนถึง 10.15

1
กำลังพยายามติดตั้ง CocoaPods โดยใช้คำสั่ง terminal getting ไม่พบ
ฉันพยายามติดตั้ง CocoaPods โดยใช้เทอร์มินัล ในเว็บไซต์ทางการของพวกเขาเขียน: installing it is as easy as running the following commands in the terminal: $ [sudo] gem install cocoapods $ pod setup แต่เมื่อฉันป้อนบรรทัดแรกใน terminal ฉันได้รับข้อผิดพลาดต่อไปนี้: -bash: $: command not found ฉันจะทำอะไรกับสิ่งนั้นได้ฉันพยายามมองดูในเว็บ แต่เนื่องจากฉันเป็นคนที่ไม่มีเทอร์มินัลฉันจึงไม่สามารถคิดได้ว่าจะต้องทำอะไร

1
การกำหนดเชลล์พร้อมท์เองทำให้เกิดข้อผิดพลาดบางอย่าง
ฉันได้กำหนด shell prompt ด้วยรหัสต่อไปนี้ ~/.bash_profileแต่มีสิ่งแปลกประหลาดเหลืออยู่ฉันไม่สามารถแก้ไขได้: export PS1="\u:\[\e[32;1;32m\W\e[m\] \$ " (รหัสคือ ยังอยู่บน GitHub ) ใช้งานได้ดีรวมถึงคำสั่งที่ยาว แต่ถ้าฉันเลื่อนดูประวัติคำสั่งด้วยปุ่มลูกศรบางครั้งพรอมต์จะได้รับ "แปลก" บางครั้งมันจะรวมคำสั่งบางส่วนในพรอมต์หรือเวลาอื่น ๆ ช่องว่างหลังจาก $ จะหายไป มีบางสิ่งที่ขาดหายไปจากรหัสด้านบนที่ฉันควรปรับแต่ง ขอบคุณ!

1
ไม่พบคำสั่งใน Terminal ยกเว้นเสียงสะท้อน
ในคำสั่งพื้นฐานของเทอร์มินัลไม่พบเช่น: mds-macbook-pro:~ ZILLURRAHMAN$ ls -bash: ls: command not found mds-macbook-pro:~ ZILLURRAHMAN$ env -bash: env: command not found mds-macbook-pro:~ ZILLURRAHMAN$ edit -bash: edit: command not found mds-macbook-pro:~ ZILLURRAHMAN$ open -bash: open: command not found mds-macbook-pro:~ ZILLURRAHMAN$ vi -bash: vi: command not found mds-macbook-pro:~ ZILLURRAHMAN$ tail -bash: tail: command not found mds-macbook-pro:~ …

1
ปฏิสัมพันธ์ระหว่างโปรไฟล์ของ Terminal.app และตัวแปรสภาพแวดล้อม
ฉันสงสัยว่าและเป็นไปได้อย่างไรในการตั้งค่าตัวแปรสภาพแวดล้อมของเชลล์ตามโปรไฟล์ Terminal.app โดยเฉพาะฉันต้องการใช้พรอมต์สีใน Terminal.app หรือ iTerm2.app ใน Mac OS แต่ฉันต้องการตั้งค่าสีพรอมต์ PS1 ตัวแปร) ขึ้นอยู่กับโปรไฟล์ที่เลือกของ Terminal.app เป็นไปได้ที่จะกำหนดตัวแปรสภาพแวดล้อมเป็นส่วนหนึ่งของโปรไฟล์ใน Terminal.app หรือไม่? มีวิธีแก้ไขปัญหาสำหรับ Terminal.app หรือแอปพลิเคชั่นอื่น ๆ (สำหรับระบบปฏิบัติการใด ๆ ) เพื่อกำหนดรูปแบบและสีพร้อมท์ตาม "โปรไฟล์" ที่เลือก

1
เปลี่ยนระดับเสียงที่บรรทัดคำสั่งโดยใช้สคริปต์ / ฟังก์ชั่น
ฉันพบคำสั่งที่ดีซึ่งตั้งค่าระดับเสียงเป็น 50% (หรือระดับที่ต้องการ): osascript -e 'set volume output volume 50' ฉันชอบที่จะมีสคริปต์หรือฟังก์ชั่นที่ช่วยให้ฉันพิมพ์ v 50 หรือ v 30ฯลฯ เพื่อเปลี่ยนระดับเสียงได้อย่างง่ายดาย ฉันพยายามสร้างฟังก์ชั่นทุบตีนี้: v() { # adjust volume function osascript -e 'set volume output volume $1' } อย่างไรก็ตามเรื่องนี้ให้: 25:26: syntax error: Expected expression but found unknown token. (-2741) ฉันจะทำงานนี้ได้อย่างไร

1
terminal -bash: ไม่พบคำสั่ง
ฉันกำลังพยายามคอมไพล์โปรแกรม c ++ บนเครื่องเทอร์มินัล Mac ด้วย gcc ดังนั้นเส้นทางไฟล์ต้นฉบับ ฉันพบการแก้ไขระยะสั้นบนอินเทอร์เน็ต แต่ฉันต้องการมันจึงทำงานได้ทุกครั้ง นอกจากนี้ฉันแทบจะไม่รู้อะไรเกี่ยวกับเทอร์มินัลดังนั้นจึงสามารถอธิบายวิธีแก้ปัญหาได้อย่างง่ายดาย echo $PATH ให้: /Library/Frameworks/Python.framework/Versions/2.7/bin:’/usr/local/bin:?? / bin / cat ~ / .profile พิมพ์ไฟล์หรือไดเรกทอรีดังกล่าวไม่ได้ / bin / cat ~ / .bash_profile ภาพพิมพ์: export PATH=’/usr/local/bin:?? # Setting PATH for Python 2.7 # The orginal version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" export PATH …

2
วิธีแสดงรายการ / dev / ดิสก์ทั้งหมดไม่ใช่พาร์ติชันที่ลงท้ายด้วย s1, s2, …?
ฉันพยายามที่จะแสดงรายการ (เอาท์พุท) ไดรฟ์ชื่อ Mac OS X จากหมายเลขซีเรียลในเชลล์ Bash 3.2 บนบรรทัดคำสั่ง สำหรับเรื่องนี้ฉันต้องวนลูปผ่านอุปกรณ์บล็อกทั้งหมดที่ไม่ได้เป็นพาร์ติชัน ดังนั้นฉันต้องการการแทนที่ที่ดีกว่าสำหรับ bash loop นี้: for disk in /dev/disk*; do …; done ฉันต้องการใช้ ls เท่านั้น ในที่สุดก็มีรูปแบบไวด์การ์ดโดยไม่มีการไพพ์ (ผ่าน grep ) และไม่มีสิ่งของอื่น ๆ (เช่น find ) มันเป็นเหมือน ls /dev/disk* แต่ไม่ตรงกับพาร์ติชันที่ลงท้ายด้วย s1 (ชอบ /dev/disk0s1 ) s2 เป็นต้น การถอยหลัง ความพยายามที่ล้มเหลว: $ ls /dev/disk[0-9]*[!s][!1-9] $ …

2
ทางลัด Dock สำหรับสคริปต์ทุบตีแบบโต้ตอบ
ฉันใหม่กับ OSX และทั้งหมดที่ฉันต้องการคือทางลัดแอปพลิเคชั่นใน Dock ที่เปิดเทอร์มินัลและพิมพ์คำสั่งแรกและรอให้ฉันให้รหัสผ่าน นี่คือสคริปต์ที่ฉันต้องการเรียกใช้: #!/usr/bin/env bash sudo openconnect --user={username} {host} และนี่คือ AppleScript ที่ฉันสร้างขึ้นโดยใช้ Automator: do shell script "/usr/local/bin/openconnect --user={user} {host}" with administrator privileges แต่เมื่อฉันเรียกใช้มันจะออกเมื่อมันถามชื่อผู้ใช้และรหัสผ่าน สิ่งที่ฉันหายไปที่นี่?

1
ประวัติทุบตีไม่ได้จดจำตั้งแต่แรกด้วย iterm2
ฉันมีปัญหาที่น่ารำคาญกับ iterm2 ที่ไม่จดจำประวัติของฉันเมื่อฉันปิดหน้าต่างเทอร์มินัล ฉันไม่แน่ใจว่าอาจเป็น. bash_profile config ของฉันหรือเปล่า นี่คือสิ่งที่เกิดขึ้น: 1) type in some commands 2) issue `history` command 3) commands are listed 4) close terminal window and open brand new terminal window 5) issue `history` command 6) commands from previous sessions are NOT listed 7) close terminal window and open brand …

2
ปัญหาเกี่ยวกับคุณสมบัติที่เพิ่มขึ้นใน - regex ของโปรแกรมอรรถประโยชน์“ ค้นหา”
ตัวอย่างเช่นไม่พบไฟล์: : > 12; basename $(find -E . -regex '^(.*)(\d{2})' -print 2>/dev/null) แต่สิ่งนี้จะ: basename $(find -E . -regex '^(.*)([0-9]{2})' -print 2>/dev/null) ในเวลาเดียวกันตัวอย่างเช่น: echo -e '12\nabc\n456' | grep -E -e '^(\d{3})' ทำงานค่อนข้างดี regcomp()แต่ดูเหมือนจะใช้เหมือนกัน ฉันทำอะไรผิดและฉันจะแก้ไขได้อย่างไร
macos  bash 

1
รับข้อผิดพลาดคำสั่งที่ไม่รู้จักเมื่อพยายามเรียกใช้สคริปต์ทุบตี
ฉันเพิ่งต้องติดตั้งใหม่ 10.9.5 (ติดตั้งเริ่มต้น) และตอนนี้ฉันพบว่าสคริปต์ทุบตีที่ทำงานอย่างสมบูรณ์จากบรรทัดคำสั่ง (~ / Me ... ) ไม่ทำงานอีกต่อไปโดยใช้ crontab ฉันใช้ crontab เพื่อเรียกใช้ "Diskutil unmount volumeX" แต่ฉันได้รับจดหมายจาก cron ว่าคำสั่ง "diskutil" ไม่พบ มันเป็นปัญหาของเส้นทางและถ้าเป็นเช่นนั้นฉันจะแก้ไขได้อย่างไร ขอขอบคุณล่วงหน้าสำหรับความช่วยเหลือ

3
วิธีการตั้งค่าไดเรกทอรีสัมพัทธ์เป็นตัวแปร PATH และเรียกใช้สคริปต์ในไดเรกทอรีที่เกี่ยวข้องทั่วโลก
ฉันมีสคริปต์บางอย่างในโครงการคอมไพล์ฉันต้องการเข้าถึงทั่วโลกดังนั้นฉันจึงเพิ่มเส้นทางสัมพัทธ์ไปยังโฟลเดอร์สคริปต์อย่างนั้น vim ~/.bash_profile export PATH="~/git/scripts/:$PATH" source ~/.bash_profile และมีไฟล์ที่~/git/scripts/เรียกว่าechoHelloWorld.shดังนั้นฉันจะทำงานได้echoHelloWorld.shอย่างไรถ้าฉันเป็นตัวอย่างใน~/Downloadsโฟลเดอร์? ฉันทำ cd ~/Downloads ./echoHelloWorld เพราะฉันได้ลองแล้ว แต่มันใช้งานไม่ได้และฉันก็ลองchmod +x echoHelloWorld.shโดยไม่มีผลลัพธ์
bash  path 

1
ฉันจะเริ่ม postgres โดยอัตโนมัติเมื่อเริ่มต้นได้อย่างไร
ฉันสามารถเริ่มต้น postgres ด้วย: # Start Postgres /usr/local/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start ฉันจะเริ่มต้นอย่างไรเมื่อฉันเริ่มต้นเครื่อง ฉันสามารถวางไว้ใน.bash_loginไฟล์ของฉันแต่จากนั้นฉันจะได้รับอินสแตนซ์ใหม่ของ postgres ทุกครั้งที่ฉันทำหน้าต่างใหม่ซึ่งไม่ดี ฉันแค่อยากให้มันเกิดขึ้นเมื่อฉันเข้าสู่เครื่องครั้งแรก นี่คือสำหรับ OS-X Lion, Macbook Air ซื้อพฤศจิกายน 2011

2
pwd ใน bash ไม่ถูกต้องหลังจากส่งไดเรกทอรีไปที่ถังขยะ
ถ้าฉันย้ายไดเรกทอรีไปที่ถังขยะที่ฉันมีอยู่แล้วในไดเรกทอรีนั้นpwdจะไม่รายงานการเปลี่ยนแปลงในตำแหน่ง ฉันจะยังคงสามารถทำทุกอย่างด้วยวิธีทุบตีได้ตามปกติราวกับว่าไม่มีการเปลี่ยนแปลงในไดเรกทอรีแม้ว่า Finder จะบอกว่าไม่มีอยู่ pwd ควรถูกต้องเสมอ ดูเหมือนว่าจะไม่เป็นเช่นนั้น ตัวอย่างเช่นฉันจะไปที่เส้นทางนี้: /Users/me/Desktop/goingToTrash/subdir ถ้าฉันย้ายไปที่ถังขยะ/Users/me/Desktop/goingToTrashpwd จะรายงานว่าฉันอยู่/Users/me/Desktop/goingToTrash/subdirแม้ว่าเครื่องมือค้นหาจะบอกว่าไม่มีอยู่ก็ตาม ดังนั้นถ้าฉันสร้างไดเรกทอรีที่ถูกลบใหม่ bash จะทำงานได้จากไดเรกทอรีเก่า (ฉันสมมติว่าในถังขยะยังไม่ได้ยืนยัน) แทนที่จะเป็นไดเรกทอรีใหม่ที่ฉันเพิ่งสร้างขึ้นและ pwd จะไม่ให้สิ่งนี้เกิดขึ้นเลย ถ้าฉัน "ย้ายไปที่ถังขยะ" ไดเรกทอรีและฉัน cd หนึ่งไปยังไดเรกทอรีย่อยของมันแล้วสร้างโครงสร้างไดเรกทอรีจากไดเรกทอรีย่อยที่ฉันสามารถcd ../subdirฉันฉันกลับเข้าสู่ไดเรกทอรี "ใหม่" อย่างน่าอัศจรรย์ แม้ว่าพาเรนต์จะถูก "ย้ายไปที่ถังขยะ" แทนที่จะเหลืออยู่ในโครงสร้างไดเรกทอรีที่ถูกย้ายไปที่ถังขยะ

0
พฤติกรรมแปลก ๆ สำหรับคำสั่งแบบยาวหลังจากใส่สไตล์เทอร์มินัล
หลังจากวางคำสั่งต่อไปนี้บน~/.bash_profileไฟล์: # STYLING THE TERMINAL # References: # - http://apple.stackexchange.com/questions/33677/how-can-i-configure-mac-terminal-to-have-color-ls-output # - at the end of man page for ls command # enables colorised output CLICOLOR=1 export CLICOLOR # ls export LSCOLORS=ExFxCxDxBxegedabagacad # PROMPT # use \h for the complete host name # use \u for the account name (cell) …

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