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

เชลล์คือซอฟต์แวร์ที่ช่วยให้ผู้ใช้โต้ตอบกับระบบปฏิบัติการโดยปกติแล้วพิมพ์ที่บรรทัดคำสั่ง

3
เทอร์มินัลแบบแท็บที่เชื่อมต่อกับหน้าจอ GNU
ฉันใช้คุณสมบัติเซสชั่นของหน้าจออย่างกว้างขวาง ตัวอย่างเช่นฉันจะเริ่มเซสชันหน้าจอสำหรับ "project1" เป็น "screen -S project1" แล้วเมื่อฉันต้องการเชื่อมต่ออีกครั้งฉันใช้ "screen -d -r project1" สิ่งนี้ทำให้ง่ายต่อการจัดการหลายโครงการโดยแต่ละชุดมีเซสชันเชลล์ของตนเอง สิ่งที่ฉันอยากทำตอนนี้คือเมื่อทำงานบน Windows และ Linux เพื่อให้สามารถใช้โปรแกรมเทอร์มินัลแบบแท็บ (เช่น gnome-terminal) เพื่อเชื่อมต่อกับเซสชันของหน้าจอและแยกหน้าต่างหน้าจอทั้งหมดออกเป็นแท็บแยกต่างหาก . ด้วยวิธีนี้ฉันจะได้รับพลังของหน้าจอทั้งหมด แต่ด้วยความสะดวกสบายของประสบการณ์ GUI ที่สมบูรณ์ยิ่งขึ้น มีโปรแกรมเทอร์มินัลใด ๆ ที่พร้อมใช้งานบน Windows และ / หรือ Linux

5
ตั้งค่า $ PS1 แตกต่างกันในเครื่องคอมพิวเตอร์และในเซสชั่น ssh
ฉันเก็บไดเรกทอรีบ้านของฉันไว้ภายใต้การควบคุมเวอร์ชันเพื่อให้การกำหนดค่าพื้นฐานของฉันนั้นสามารถใช้ได้อย่างง่ายดายบนคอมพิวเตอร์เครื่องใดก็ได้ พรอมต์คำสั่ง bash ของฉันบนเครื่องคอมพิวเตอร์ของฉันเป็นสิ่งที่ซับซ้อนและมีสีสันที่มีที่เก็บ git ปัจจุบันและสถานะของมัน แต่ฉันควรจะมีuser@host ~ $พรอมต์คำสั่งง่ายๆเมื่อฉันsshเข้าไปในเครื่องระยะไกล ฉันต้องการที่จะสามารถอัปเดตของฉัน.profileเพื่อที่จะตั้งค่าที่ซับซ้อน$PS1เมื่อเรียกใช้ในพื้นที่และแบบที่ง่ายขึ้นเมื่อทำงานในsshเซสชั่น โดยทั่วไปฉันต้องการบางสิ่งบางอย่างเช่นตัวแปรในการทดสอบในของฉัน$AM_I_LOGGED_IN_VIA_SSH .profileเป็นไปได้ไหม
9 bash  ssh  shell  ps1 

3
การค้นหา PATH รวมถึงสัญลักษณ์
มาตรฐานเชลล์ POSIX ระบุไว้ในเว็บไซต์นี้ http://pubs.opengroup.org/onlinepubs/9699919799/ เกี่ยวกับวิธีที่ shells ใช้PATHเพื่อค้นหา executables: "รายการจะถูกค้นหาตั้งแต่ต้นจนจบนำชื่อไฟล์ไปใช้กับแต่ละคำนำหน้าจนกว่าจะพบไฟล์ปฏิบัติการที่มีชื่อที่ระบุและพบการอนุญาตการใช้งานที่เหมาะสม" นี่ไม่ใช่ลักษณะที่ปรากฏในการใช้งาน POSIX จริง: man which พูดว่า: "ส่งคืนชื่อพา ธ ของไฟล์ (หรือลิงก์) ซึ่งจะถูกดำเนินการในสภาพแวดล้อมปัจจุบันได้รับข้อโต้แย้งเป็นคำสั่งในเชลล์ที่สอดคล้องกับ POSIX อย่างเคร่งครัดมันทำสิ่งนี้โดยการค้นหา PATH สำหรับไฟล์ปฏิบัติการที่ตรงกับชื่อของ อาร์กิวเมนต์มันไม่ได้ติดตามลิงก์สัญลักษณ์ " ตกลงเรามาดูสถานการณ์นี้กัน: $ pwd /home/mark $ echo $PATH /home/mark/bin:... $ ls -l bin/foobar lrwxrwxrwx 1 mark mark 18 Dec 12 22:51 bin/foobar -> /home/mark/foobar1 $ …

1
ฉันจะตั้งค่าเซิร์ฟเวอร์ LAMP ตั้งแต่เริ่มต้นโดยใช้ CentOS 6.7 ได้อย่างไร
คุณจะตั้งค่าเซิร์ฟเวอร์ LAMP ได้อย่างไรตั้งแต่เริ่มต้นบนเดสก์ท็อปพีซีที่ไม่ได้ใช้งาน Linux distro ควรเป็น CentOS 6.7

1
สตริงลับ ๆ เหล่านี้มีความหมายอย่างไรในการเชื่อมโยงรีจิสตรี?
มองไปที่HKEY_CLASSES_ROOT \ Word.Document.12 \ shell \ Open \ command \ค่าคำสั่ง (การเชื่อมโยงเชลล์ของ Word 2010 'Open') ฉันเห็นเรื่องไร้สาระเช่นนี้: xb'BV5 !!!!!!!!! MKKSkWORDFiles> bi $ T! V! 0Z = {Pk0vm ~ AZu / n "% 1" ที่ทุกอย่างชัดเจนเกี่ยวกับส่วนสุดท้าย / n "% 1" แต่สิ่งที่คลุมเครือแรกนั้นแสดงถึงคำสั่งเวทมนตร์บางอย่างเกี่ยวกับการใช้ MS Word วูดูที่ฉันมีสำหรับ Excel และการเชื่อมโยง Office อื่น ๆ ความพยายามมากมายของฉันในการให้การศึกษาตัวเองผ่านอินเทอร์เน็ตเกี่ยวกับสิ่งที่เกิดขึ้นที่นั่นไม่ได้นำผลลัพธ์ใด ๆ ผู้คนมากมายพูดถึง "คาถาที่ถูกต้อง" เพื่อสร้างการเชื่อมโยง …

3
เพราะเหตุใด '>' เปลี่ยนเส้นทางข้อความผิดพลาดจาก gcc
ฉันเก็บโปรแกรมต่อไปนี้ใน new.c int main() { a; return 0; } ส่งคืนข้อความแสดงข้อผิดพลาด ฉันต้องการส่งข้อความนี้ไปยังไฟล์ ดังนั้นฉันใช้คำสั่งดังต่อไปนี้ gcc new.c > temp.txt แต่ยังฉันได้รับผลลัพธ์ใน terminal ฉันใช้ Ubuntu 13.04 ฉันจะทำให้มันทำงานได้อย่างไร
9 c  shell  gcc 



4
Bash Shell Tutorials [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ใช้ขั้นสูง ปิดให้บริการใน6 ปีที่ผ่านมา อะไรคือบทเรียนการทุบตีที่ดี? ฉันต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่ง bash shells และวิธีใช้

2
ฉันจะปิดการใช้งานคีย์ CTRL-ALT-DEL อย่างสมบูรณ์บน XP / Vista / 7 ได้อย่างไร?
ฉัน googling อย่างกว้างขวางเพื่อคิดออกและดูเหมือนว่าไม่มีใครที่จะสามารถให้คำตอบโดยตรง ให้ฉันเริ่มต้นด้วยการบอกว่าฉันไม่ได้พูดถึงความต้องการ CTRL-ALT-DEL เพื่อป้อนข้อมูลการเข้าสู่ระบบ ฉันกำลังทำงานกับโปรแกรมจำลองการเล่นกอล์ฟซึ่งใช้ที่ศูนย์กอล์ฟ ฉันต้องการความสามารถในการปิดการใช้งานลำดับ CTRL-ALT-DEL อย่างสมบูรณ์เพื่อให้ลูกค้าที่สนามกอล์ฟไม่สามารถออกจากโปรแกรมและเข้าถึงคอมพิวเตอร์ได้เลย ฉันรู้ว่ามีคีย์ผสมอื่น ๆ ที่ต้องจัดการเช่นกันเรามีฟีเจอร์ทั้งหมดนี้ที่ทำงานใน XP แต่เราจะเปลี่ยนไปใช้ Windows 7 เร็ว ๆ นี้และ CTRL-ALT-DEL เป็นสิ่งเดียวที่ไม่ ดูเหมือนว่าจะทำงานใน Win7 ฉันอยากจะแก้ปัญหาทุกอย่างถ้าเป็นไปได้ โปรแกรมเดียวกันนี้อาจติดตั้งบนคอมพิวเตอร์ส่วนบุคคลของลูกค้าสำหรับโปรแกรมจำลองการเล่นกอล์ฟในบ้าน แต่คอมพิวเตอร์ที่ต้องการคุณสมบัตินี้ (คอมพิวเตอร์ศูนย์กอล์ฟ) มีให้กับศูนย์กอล์ฟโดยเราดังนั้นทางเลือกที่ดีที่สุดคือการเขียน เปลือกใหม่ ฉันไม่รู้อะไรเลยเกี่ยวกับเรื่องนี้นอกจากคนอื่น ๆ ที่แนะนำให้เขียนเชลล์ใหม่สำหรับโหมดคีออสก์ ฉันต้องการตัวเลือกที่ง่ายกว่าเช่นการปรับเปลี่ยนรีจิสทรีอย่างใด ฉันได้ยินมาว่าคุณสามารถลบบางปุ่มออกจากหน้าจอเมนูที่ปรากฏขึ้น แต่ถ้าฉันไม่สามารถลบพวกเขาได้ทั้งหมด (รวมถึงปุ่มปิด / รีสตาร์ทที่มุมล่างขวา) สิ่งนี้จะไม่เพียงพอ ทางออกสำหรับฉัน
9 shell 

4
วิ่ง `exec 'ด้วย Bash ในตัว
ฉันกำหนดฟังก์ชั่นเปลือก (ขอเรียกว่าclock) ซึ่งผมต้องการที่จะใช้เป็นเสื้อคลุมกับคำสั่งอื่นที่คล้ายกับฟังก์ชั่นเช่นtimeclock ls -R exec "$@"ฉันเปลือกทำหน้าที่งานบางส่วนแล้วปลายด้วย ฉันต้องการให้ฟังก์ชั่นนี้ทำงานได้แม้มี shell-ins อยู่เช่นclock time ls -Rควรส่งออกผลลัพธ์ของการtimeบิวด์อินไม่ใช่การ/usr/bin/timeประมวลผล แต่execมักจะจบลงด้วยการรันคำสั่งแทน ฉันจะทำให้ฟังก์ชั่น Bash ของฉันทำงานเป็น wrapper ที่ยอมรับเชลล์บิวด์อินเป็นอาร์กิวเมนต์ได้อย่างไร แก้ไข : ฉันเพิ่งเรียนรู้ว่าtimeไม่ใช่ Bash ในตัว แต่เป็นคำสงวนพิเศษที่เกี่ยวข้องกับท่อ ฉันยังคงสนใจวิธีแก้ปัญหาสำหรับบิวด์อินแม้ว่าจะไม่สามารถใช้งานได้timeแต่โซลูชันทั่วไปที่ดีกว่าก็ดีกว่า

1
เครื่องหมายเปอร์เซ็นต์ (%) หน้าคำสั่งเชลล์
ฉันเพิ่งวางโค้ดจำนวนมากลงในเชลล์ แต่ลืมลบส่วนนำออก%ก่อนรันคำสั่ง ดูเหมือนว่าจะไม่ได้ทำอะไรเลย ทำไมนี้ไม่ทำอะไรในเปลือกของฉัน ( zsh )? > % echo foo ในทุบตีฉันได้รับดังต่อไปนี้ > % echo foo bash: fg: %: no such job ฉันแค่ต้องการให้แน่ใจว่าการใช้คำสั่งของฉันไม่มีผลข้างเคียง

2
rm -rf โค้ดส่งคืน
ผู้ใดก็ตามสามารถแจ้งให้ฉันทราบถึงรหัสส่งคืนที่เป็นไปได้สำหรับคำสั่งrm -rfนอกเหนือจากศูนย์เช่นรหัสส่งคืนที่เป็นไปได้สำหรับกรณีความล้มเหลว ฉันต้องการทราบเหตุผลโดยละเอียดเพิ่มเติมสำหรับความล้มเหลวของคำสั่งซึ่งแตกต่างจากคำสั่งที่ล้มเหลว (ส่งคืนมากกว่า 0)
9 shell  unix 

4
เป็นไปได้ไหมที่จะใช้เชลล์สคริปต์ในโฟลเดอร์ sendto
ฉันต้องการใช้สคริปต์เชลล์ bash จากSendToโฟลเดอร์ เมื่อฉันใส่ทางลัดไปยังชุดหรือ exe ลงในSendToโฟลเดอร์มันจะปรากฏขึ้นในSend Toเมนูย่อยบริบทของเชลล์แต่เมื่อทางลัดชี้ไปที่เชลล์สคริปต์มันไม่ได้ ระบบปฏิบัติการที่ฉันกำลังทดสอบนี้คือ Win7 Home Premium SP1 ส่วนขยาย.shที่เกี่ยวข้องกับ bash.exe ของ MinGW เชลล์สคริปต์ของฉันมี.shส่วนขยายและฉันได้ลองยกเลิกการเชื่อมโยง.shส่วนขยาย (ฉันคิดว่า MinGW ตั้งค่าเริ่มต้น แต่ไม่ได้ผล) โดยใช้โปรแกรมอรรถประโยชน์นี้และพยายามเชื่อมโยงอีกครั้งเพื่อทุบตีโดยใช้: ftype ShellScript=c:\MinGW\msys\1.0\bin\bash.exe -c "'%1' %2" assoc .sh=ShellScript ในเชลล์ cmd ของผู้ดูแลระบบ แม้ว่าสิ่งนี้จะทำงานที่พร้อมรับคำสั่งและเชลล์ Explorer (ผ่านการคลิกสองครั้ง) แต่จะไม่แสดงในSend Toเมนูและจะไม่ยอมรับพารามิเตอร์โดยการลากไฟล์ที่ด้านบนของสคริปต์โดยตรง ไม่มีใครรู้ว่าฉันจะทำเช่นนี้?

2
ความสามารถในการพกพาแบบโลแคล UTF-8 (และ ssh)
ฉันใช้เวลาส่วนใหญ่sshกับเครื่องต่าง ๆ ซึ่งทั้งหมดนี้แตกต่างกันไป (บางอันฝังอยู่ใช้งานกับ Linux บางตัวใช้งาน BSD และ c) บนเครื่องของฉันเองฉันใช้ OS X ซึ่งแน่นอนว่ามี userland ที่ใช้ BSD ภาษาของฉันบนเครื่องเหล่านั้นถูกตั้งค่าเป็น en_GB.UTF-8 ซึ่งเป็นหนึ่งในตัวเลือกที่ใช้ได้: % echo `sw_vers` ProductName: Mac OS X ProductVersion: 10.8.2 BuildVersion: 12C60 % locale -a | grep -i 'en_gb.utf' en_GB.UTF-8 ระบบ Linux ที่มีความสามารถมากกว่าที่ฉันใช้ดูเหมือนจะมีตัวเลือกที่เทียบเท่า แต่ฉันทราบว่าบน Linux ชื่อนั้นแตกต่างกันเล็กน้อย: % lsb_release -d Description: Debian GNU/Linux …
9 linux  shell  utf-8  locale  bsd 

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