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

คำว่า 'เชลล์' หมายถึงคลาสทั่วไปของล่ามคำสั่งแบบโต้ตอบตามข้อความซึ่งส่วนใหญ่มักเกี่ยวข้องกับระบบปฏิบัติการ Unix & Linux สำหรับคำถามเกี่ยวกับการเขียนสคริปต์เชลล์โปรดใช้แท็กเฉพาะเพิ่มเติมเช่น 'bash', 'powershell' หรือ 'ksh' หากไม่มีแท็กเฉพาะควรใช้วิธีแก้ปัญหาแบบพกพา (POSIX-compliant) แม้ว่าจะใช้ 'posix' เพิ่มเติมหรือ 'sh' แทนก็ตาม

8
กำลังมองหาโซลูชัน ALT + LeftArrowKey ใน zsh
ฉันเพิ่งเปลี่ยนจากการทุบตีเพื่อ zsh แต่ฉันพลาดของฉันAlt+ LeftArrowKeyและAlt+ RightArrowKeyเพื่อกลับไปมาคำในเวลา ตอนนี้ถ้าฉันกดAlt+ LeftArrowKeyฉันย้อนกลับไปสองสามตัวอักษรแล้วฉันติดอยู่ ฉันจะไม่ถอยหลังอีกต่อไปและมันจะไม่กลับไปที่จุดสิ้นสุดของบรรทัดด้วยAlt+ RightArrowKeyอย่างที่ฉันคาดหวัง ฉันใช้ปุ่มลูกศรเพื่อไปที่ท้ายบรรทัดไม่ได้ด้วยซ้ำไปที่ปุ่มที่สองถึงสุดท้าย ไม่สามารถป้อนตัวอักษรใหม่ในบรรทัดหรือลบออก ฉันจะได้รับทางลัดที่รักกลับมาได้อย่างไร? ฉันใช้ Mac OS X โดยใช้ Terminal ถ้ามันสำคัญ
131 shell  key  zsh 

4
ลบอักขระออกจากจุดสิ้นสุดของตัวแปร
การเติมข้อมูลอัตโนมัติของ Bash จะผนวก a / ท้ายชื่อไดเรกทอรี ฉันจะถอดสิ่งนี้ออกจากพารามิเตอร์ตำแหน่งได้อย่างไร #!/bin/sh target=$1 function backup(){ date=`date "+%y%m%d_%H%M%S"` PWD=`pwd` path=$PWD/$target tar czf /tmp/$date$target.tar.gz $path } backup
130 bash  shell 

7
อะไรคือความแตกต่างระหว่าง. bashrc, .bash_profile และ. environment?
ล็อค คำถามนี้และคำตอบถูกล็อกเนื่องจากคำถามไม่ตรงประเด็น แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ยังไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันใช้ระบบที่ใช้ * nix ที่แตกต่างกันหลายปีและดูเหมือนว่าทุกรสชาติของ Bash ที่ฉันใช้จะมีอัลกอริทึมที่แตกต่างกันในการตัดสินใจว่าจะเรียกใช้สคริปต์เริ่มต้นใด สำหรับวัตถุประสงค์ของงานต่างๆเช่นการตั้งค่าตัวแปรสภาพแวดล้อมและนามแฝงและการพิมพ์ข้อความเริ่มต้น (เช่น MOTD) สคริปต์เริ่มต้นใดที่เหมาะสมในการทำสิ่งเหล่านี้ ความแตกต่างระหว่างการวางสิ่งที่อยู่ใน.bashrc, .bash_profileและ.environment? ผมเคยเห็นยังไฟล์อื่น ๆ เช่น.login, .bash_loginและ.profile; สิ่งเหล่านี้เคยเกี่ยวข้องหรือไม่ อะไรคือความแตกต่างในสิ่งที่เรียกใช้เมื่อเข้าสู่ระบบทางกายภาพเข้าสู่ระบบจากระยะไกลผ่าน ssh และเปิดหน้าต่างเทอร์มินัลใหม่ มีความแตกต่างอย่างมีนัยสำคัญระหว่างแพลตฟอร์ม (รวมถึง Mac OS X (และ Terminal.app) และ Cygwin Bash) หรือไม่
130 shell  environment  bash 

12
ตรวจสอบว่ามีฐานข้อมูลใน PostgreSQL โดยใช้เชลล์หรือไม่
ฉันสงสัยว่าจะมีใครบอกฉันได้บ้างว่าสามารถใช้เชลล์เพื่อตรวจสอบฐานข้อมูล PostgreSQL ได้หรือไม่? ฉันกำลังสร้างเชลล์สคริปต์และฉันต้องการให้สร้างฐานข้อมูลหากยังไม่มีอยู่ แต่จนถึงตอนนี้ยังไม่สามารถดูวิธีใช้งานได้
130 postgresql  shell 

5
โหลด. profile ใหม่ใน bash shell script (ใน unix)?
ฉันยังใหม่กับ bash shell scripting และเจอความท้าทาย ฉันรู้ว่าสามารถโหลดไฟล์ ".profile" ของฉันซ้ำได้โดยทำดังนี้ . .profile แต่ฉันพยายามดำเนินการแบบเดียวกันในสคริปต์ทุบตีที่ฉันเขียนและมันใช้งานไม่ได้ ความคิดใด ๆ ? มีอะไรอีกที่ฉันสามารถให้เพื่อชี้แจง? ขอบคุณ

12
การเปรียบเทียบสตริงในเชลล์สคริปต์แบบไม่คำนึงถึงขนาดตัวพิมพ์
==ผู้ประกอบการจะใช้ในการเปรียบเทียบสองสายในสคริปต์เปลือก อย่างไรก็ตามฉันต้องการเปรียบเทียบสองสตริงโดยไม่สนใจขนาดตัวพิมพ์ทำอย่างไร? มีคำสั่งมาตรฐานสำหรับสิ่งนี้หรือไม่?

6
ฉันจะตั้งค่า $ PATH ให้ "ssh user @ host command" ทำงานได้อย่างไร
ดูเหมือนจะไม่สามารถตั้งค่า $ PATH ใหม่ให้ใช้เมื่อเรียกใช้คำสั่งผ่านssh user@host commandไฟล์. ฉันได้ลองเพิ่มexport PATH=$PATH:$HOME/new_path~ / .bashrc และ ~ / .profile บนเครื่องระยะไกลแล้ว แต่การดำเนินการssh user@host "echo \$PATH"แสดงว่ายังไม่ได้รับการเปลี่ยนแปลง (แสดง / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / เกม) เครื่องระยะไกลกำลังเรียกใช้ Ubuntu …
129 unix  shell  path  ssh 

11
แปลงการประทับเวลา Unix เป็นสตริงวันที่
มีวิธีง่ายๆในการแปลงการประทับเวลา Unix เป็นวันที่จากบรรทัดคำสั่ง Unix หรือไม่? dateอาจใช้งานได้ยกเว้นว่าจะค่อนข้างอึดอัดในการระบุแต่ละองค์ประกอบ (เดือนวันปีชั่วโมง ฯลฯ ) และฉันไม่สามารถหาวิธีทำให้มันทำงานได้อย่างถูกต้อง ดูเหมือนว่าอาจมีวิธีที่ง่ายกว่านี้ - ฉันขาดอะไรไปหรือเปล่า?


6
ฉันจะเพิ่มวิธีช่วยเหลือให้กับเชลล์สคริปต์ได้อย่างไร
ฉันจะตรวจสอบได้อย่างไรว่า-hแอตทริบิวต์ถูกส่งไปยังเชลล์สคริปต์หรือไม่ ฉันต้องการแสดงข้อความช่วยเหลือเมื่อผู้ใช้โทรmyscript.sh -hมา
128 unix  shell 

14
ค้นหาซ้ำและแทนที่ในไฟล์ข้อความบน Mac และ Linux
ในลินุกซ์เชลล์คำสั่งต่อไปนี้จะค้นหาซ้ำและแทนที่อินสแตนซ์ทั้งหมดของ 'this' ด้วย 'that' (ฉันไม่มีลินุกซ์เชลล์อยู่ข้างหน้าฉัน แต่ควรทำ) find . -name "*.txt" -print | xargs sed -i 's/this/that/g' คำสั่งที่คล้ายกันบน OSX จะมีลักษณะอย่างไร?
128 linux  macos  shell 

7
เชลล์ - จะค้นหาไดเร็กทอรีของคำสั่งบางคำสั่งได้อย่างไร
ฉันรู้ว่าเมื่อคุณอยู่บนเชลล์คำสั่งเดียวที่สามารถใช้ได้คือคำสั่งที่สามารถพบได้ในบางไดเรกทอรีที่ตั้งค่าบน PATH แม้ว่าฉันจะไม่รู้ว่าจะดูได้อย่างไรว่าตัวแปร PATH ของฉันเป็นอย่างไร (และนี่เป็นอีกคำถามที่ดีที่สามารถตอบได้) สิ่งที่ฉันอยากรู้คือ: ฉันมาที่เปลือกและเขียน: $ lshw ฉันต้องการทราบคำสั่งบนเชลล์ที่สามารถบอกฉันได้ว่าคำสั่งนี้อยู่ที่ไหน กล่าวอีกนัยหนึ่งว่า "ไฟล์ปฏิบัติการ" นี้อยู่ที่ไหน? สิ่งที่ต้องการ: $ location lshw /usr/bin ใคร?

8
เปลี่ยนเส้นทาง STDERR / STDOUT ของกระบวนการหลังจากเริ่มต้นแล้วโดยใช้บรรทัดคำสั่ง?
ในเชลล์คุณสามารถเปลี่ยนเส้นทางได้> <ฯลฯ แต่หลังจากเริ่มโปรแกรมแล้วจะเป็นอย่างไร? นี่คือวิธีที่ฉันถามคำถามนี้โปรแกรมที่ทำงานอยู่เบื้องหลังเทอร์มินัลของฉันจะส่งข้อความที่น่ารำคาญออกมา เป็นกระบวนการที่สำคัญดังนั้นฉันจึงต้องเปิดเชลล์อื่นเพื่อหลีกเลี่ยงข้อความ ฉันต้องการที่จะสามารถ>/dev/nullหรือเปลี่ยนเส้นทางอื่น ๆ เพื่อที่ฉันจะได้ทำงานในเชลล์เดียวกันต่อไป
127 linux  bash  shell 

8
วิธีรับอักขระสุดท้ายของสตริงในเชลล์
ฉันได้เขียนบรรทัดต่อไปนี้เพื่อรับอักขระสุดท้ายของสตริง: str=$1 i=$((${#str}-1)) echo ${str:$i:1} ใช้ได้กับabcd/: $ bash last_ch.sh abcd/ / มันไม่ทำงานสำหรับabcd* : $ bash last_ch.sh abcd* array.sh assign.sh date.sh dict.sh full_path.sh last_ch.sh มันจะแสดงรายการไฟล์ในโฟลเดอร์ปัจจุบัน
127 string  bash  shell 

11
Unix - สร้างเส้นทางของโฟลเดอร์และไฟล์
ฉันรู้ว่าคุณสามารถmkdirสร้างไดเร็กทอรีและtouchสร้างไฟล์ได้ แต่ไม่มีวิธีใดที่จะดำเนินการทั้งสองอย่างในคราวเดียวได้? เช่นถ้าฉันต้องการทำด้านล่างเมื่อotherไม่มีโฟลเดอร์: cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt ข้อผิดพลาด: cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory มีใครคิดฟังก์ชันเป็นวิธีแก้ปัญหานี้หรือไม่?
126 linux  bash  shell  unix  scripting 

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