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

เทอร์มินัลคือสภาพแวดล้อมสำหรับการป้อน / ส่งข้อความ ภายในเทอร์มินัลหนึ่งรันโปรแกรมบรรทัดคำสั่งและโหมดข้อความ (รวมถึงเปลือกหอย)

3
เรียกใช้คำสั่ง / สคริปต์ที่ตัดการเชื่อมต่อจากเทอร์มินัลการควบคุมหรือไม่?
ฉันกำลังตรวจสอบพฤติกรรมของสคริปต์ที่ปกติแล้วจะทำงานเป็นกระบวนการอัตโนมัติ (เช่น cron, Jenkins) สคริปต์สามารถ (ในที่สุด) เรียกใช้คำสั่งที่ทำงานแตกต่างกัน (ค้นหาอินพุตผู้ใช้) เมื่อรันแบบโต้ตอบ; ตัวอย่างเช่นpatchจะถามว่าจะทำอย่างไรกับแพทช์ที่กลับด้านและsvnจะขอรหัสผ่าน แต่ฉันต้องดูว่าจะเกิดอะไรขึ้นเมื่อพวกเขาทำงานแบบไม่โต้ตอบ การโน้มน้าวใจpatchว่าการไม่โต้ตอบนั้นค่อนข้างง่าย ฉันแค่ต้องการเปลี่ยนเส้นทางstdoutให้เป็นคนที่ไม่ใช่ tty: $ </dev/null > >(cat) /path/to/myscript --args อย่างไรก็ตามsvnจะเชื่อมต่อกับเทอร์มินัลการควบคุมหากมีอยู่ การแก้ไขสคริปต์เพื่อส่งผ่าน--non-interactiveไม่ใช่ตัวเลือกจริงๆเนื่องจากนี่มาจากหลายระดับลึกและมันยากที่จะแน่ใจว่าฉันได้พบการเรียกใช้ทุกครั้ง มีวิธีการเรียกใช้สคริปต์ / คำสั่งแบบไม่โต้ตอบโดยไม่มีสถานีควบคุม (เพื่อที่/dev/ttyไม่มีอยู่)? ฉันต้องการ stdout / stderr ยังคงไปที่สถานีของฉัน (ฉันพบคำถามเรียกใช้สคริปต์ในเชลล์แบบไม่โต้ตอบแต่คำตอบสำหรับเรื่องความแตกต่างระหว่าง cron และสภาพแวดล้อมของผู้ใช้; ฉันได้กำจัดความแตกต่างทั้งหมดยกเว้นการไม่โต้ตอบ)

1
บรรทัดสถานะ tmux พร้อมบรรทัดว่างด้านบน?
ฉันมีบรรทัดสถานะ tmux ที่ดี แต่ฉันไม่ชอบวิธีที่ bash / คำสั่งรันไปตามนั้น นั่นคือถ้าหน้าจอเต็มฉันกำลังพิมพ์สิ่งต่าง ๆ เหนือบรรทัดสถานะ ฉันต้องการพักหนึ่งบรรทัดเพื่อให้สิ่งที่ฉันพิมพ์ไม่เคย "แตะ" บรรทัดสถานะ มีวิธีใดในการทำเช่นนี้? ตัวอย่าง: สมมติว่าฉันมีหน้าต่างเทอร์มินัลเล็กมากที่มีความยาวสองบรรทัด bash>$ (cursor) 1: bash* 2: bash- 3: vim- ฉันจะรับบรรทัดว่างเพื่อแยกแถบสถานะจากพรอมต์ได้อย่างไรเช่น: bash>$ (cursor) 1: bash* 2: bash- 3: vim-
9 terminal  tmux 

2
ฉันจะเปลี่ยนภาษา / การเข้ารหัสเพื่อหลีกเลี่ยงการรับตัวอักษรแปลก ๆ ในเทอร์มินัลได้อย่างไร
ฉันได้ติดตั้งtreeบนกล่อง Ubuntu ของฉันเมื่อฉันเชื่อมต่อกับมันจาก Putty และฉันเริ่มtreeฉันได้รับ: $ tree âââ html.vim -> xml.vim âââ js.vim -> xml.vim âââ xml.vim แทนสิ่งนี้: $ tree --charset=ANSII |-- html.vim -> xml.vim |-- js.vim -> xml.vim `-- xml.vim ฉันยังได้รับปัญหานี้เมื่อฉันแสดงรายการแพคเกจของฉันจากnpm(ผู้จัดการแพ็คเกจจากnodejs) $ npm list /home/monkey/scripts/chatter ââ⏠express@3.0.6 â âââ buffer-crc32@0.1.1 â âââ commander@0.6.1 â ââ⏠connect@2.7.2 â â âââ …

1
สี emacs ขึ้นอยู่กับตัวแปรสภาพแวดล้อม $ TERM
ฉันต้องการที่จะรู้ว่ามันเป็นไปได้ที่จะทำให้ emacs เมื่อทำงานในหน้าจอ GNU หรือเซสชั่น tmux TERM=xtermใช้สีเดียวกับเมื่อ ในหน้าจอ GNU หรือเซสชั่น tmux, TERM=screenและ emacs TERM=xtermใช้ชุดที่แตกต่างกันของสีเมื่อเทียบกับเมื่อ ตัวอย่างเช่นเมื่อTERM=xterm-256colorสีพื้นหน้าของfont-lock-comment-faceคือ 'Firebrick' แต่เมื่อTERM=screen-256colorตั้งค่าเป็น 'chocolate1' เพื่อให้ tmux ทำงานอย่างถูกต้องจะต้องตั้งค่าตัวแปร TERM เป็นหน้าจอหรืออนุพันธ์บางส่วนดังนั้นการรีเซ็ต TERM จึงไม่ใช่ตัวเลือกสำหรับฉัน

3
Zsh: แก้ไขคำสั่งที่ดำเนินการโดยอัตโนมัติ
ฉันเพิ่งติดตั้ง grc (colorizer ทั่วไป) ไปยังระบบของฉันผ่าน MacPorts ทำให้ฉันมีความสามารถในการรับเอาต์พุต colorized สำหรับคำสั่งมากมายซึ่งโดยค่าเริ่มต้นไม่รองรับ (ดูภาพด้านล่าง) ฉันต้องการใช้ grc แบบอัตโนมัติ แต่ไม่ใช่สำหรับคำสั่งเฉพาะ แต่สำหรับทุกคำสั่ง ฉันใช้ zsh เป็นเปลือกของฉัน โดยเฉพาะอย่างยิ่งเมื่อใดก็ตามที่ผมดำเนินการผมอยากให้มีการดำเนินการโดยอัตโนมัติเป็นcommand -parameter 1 2 3 ฉันไม่ได้ต้องการใช้นามแฝงเช่นนามแฝงถึงเนื่องจากฉันกำลังเพิ่มคำสั่งเพิ่มเติมเพื่อให้ grc เปลี่ยนสีgrc command -parameter 1 2 3traceroutegrc traceroute ฉันดูการกำหนดค่า preexec และ precmd สำหรับ. zshrc แต่ฉันไม่พบวิธีที่จะบรรลุสิ่งที่ฉันกำลังมองหา
9 terminal  zsh  osx 

1
grep --color เพิ่มรหัส ANSI ESC [K - สิ่งนี้สามารถเปลี่ยนข้อความที่แสดง
ทำไม grep จึงเพิ่มรหัส ANSI \e[Kลงในเอาท์พุตสี ฉันไม่เห็นจุดของมัน แต่เห็นได้ชัดว่านักพัฒนาสามารถ มันเป็นรหัสมาตรฐาน ANSI / VT100 ร์มินัลที่ใช้ในการ"ล้างเส้นจากตำแหน่งเคอร์เซอร์ปัจจุบันที่จะสิ้นสุดของเส้น" ในกรณีที่มีขอบ grep สามารถทำให้ข้อความ "หายไป" จากจอแสดงผลขั้ว ตัวอย่างเช่น: echo -e "ab\rc" echo -e "ab\rc" |grep --color=always "c" echoง่ายแสดง: cbแต่หน้าจอcolorizedแสดง:c ข้อความที่เข้ารหัสที่สำคัญคือ: echo -e 'ab\r\033[01;31m\033[Kc\033[m\033[K' อย่างไรก็ตามหากไม่มี\e[Kรหัสจะ echo -e 'ab\r\033[01;31mc\033[m'ทำงานได้ตามที่คาดไว้! อะไรคือสาเหตุของการรวม\e[Kรหัสเหล่านี้ของ grep ฉันเขียนสคริปต์เพื่ออนุญาตให้มีการซ้อนทับของสองผ่านการระบายสีc=--color=always; ls $c /bin/gzip | grep $c 'z'เช่น: ดังนั้นผมจึงจำเป็นต้องเข้าใจ\e[Kความหมายว่าทำไม grep
9 terminal  grep  colors 

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

3
ฉันจะยกเลิกการรับข้อความออกอากาศได้อย่างไร
ฉันเข้าสู่ระบบมหาวิทยาลัยและน่ารำคาญมาก n00b คิดว่าเขาหรือเธอเป็นแฮ็กเกอร์ที่น่ากลัวเพราะเธอหรือเขาสามารถออกอากาศการถ่ายโอนข้อมูลวัตถุให้ทุกคนที่ใช้ท่อ ฉันพนันว่าพวกเขาคิดว่ามันตลกเพราะมันดูเหมือนเมทริกซ์ ฉันแค่สงสัยว่ามีวิธีที่รวดเร็วและง่ายต่อการยกเลิกการรับข้อความเหล่านี้จากผู้ใช้รายนี้หรือไม่ นอกจากนี้สิ่งที่จะเป็นคำสั่งสำหรับผู้ใช้ทุกคน (บางครั้งฉันไม่ต้องการรับข้อความเมื่อฉันอยู่ในส่วนลึกของปัญหาที่ยาก)
9 terminal 

3
บังคับให้ telnet / ssh ใช้ crtl-H สำหรับ backspace
ฉันมีอุปกรณ์บางอย่างเชื่อมต่อกับเซิร์ฟเวอร์คำศัพท์อนุกรมของ Cisco; ทำงานได้ดีมากเมื่อฉันtelnetโดยตรงไปยังพอร์ตใน Cisco อย่างไรก็ตามฉันมีอุปกรณ์ที่ดื้อรั้นไม่กี่ตัวที่จะไม่ใช้Backspaceเนื่องจากถูกแมปใน telnet โดยค่าเริ่มต้น ในกรณีที่มีความสำคัญฉัน telnet จากrxvtภายใต้ Debian squeeze (ใน X Window) TERMถูกตั้งค่าให้rxvtแต่มันไม่สำคัญว่าผมใช้vt100, vt101หรือxterm... การเปลี่ยนแปลงTERMจะไม่มีผล ผมเริ่มลงที่ถนนของการเปลี่ยนแปลงTERMขึ้นอยู่กับสิ่งที่ฉันเห็นในเก่ามิตคำถามที่พบบ่อย FWIW stty erase ^hและstty erase ^?ไม่ทำงานเช่นกัน ฉันสังเกตเห็นว่าBackspaceอุปกรณ์เหล่านี้ทำงานอย่างถูกต้องหากฉันใช้ซ็อกเก็ต TCP แบบดิบจากnetcat... เช่นnc 192.168.12.117 2006; อย่างไรก็ตามจากนั้นฉันพบปัญหาอื่น ๆ เกี่ยวกับรหัสผ่านที่ไม่ซ่อนหรือการสลับหน้าจอเทอร์มินัล ฉันจะเลือกบังคับ telnet และ ssh เพื่อแม็พBackspaceกับCtrlHอุปกรณ์เหล่านี้ได้อย่างไร? นอกจากนี้ฉันควรใช้เกณฑ์ใดในการประเมินว่านี่เป็นข้อบกพร่องในอุปกรณ์หรือไม่ แก้ไข ในกรณีที่มันเป็นเรื่องสำคัญนี้เป็นผลผลิตจากshowkey -aคีย์ในคำถาม ... ^?สอดคล้องกับการBackspaceและเป็น^H CtrlHดูเหมือนว่าฉันควรจะเข้าใกล้เมื่อฉันดูThe Linux Keyboard และ Console …

5
จะแสดงผลลัพธ์สดบนเทอร์มินัลจากเชลล์สคริปต์ได้อย่างไร
ฉันจะเขียนเชลล์สคริปต์ที่แสดงผลลัพธ์แบบเรียลไทม์ได้อย่างไร บางอย่างเช่นtopคำสั่งที่อัปเดตผลลัพธ์หลังจากช่วงเวลาหนึ่งคงที่

5
เป็นกลุ่มใน FreeBSD ไม่ตอบสนองต่อปุ่มลูกศรอย่างถูกต้องและพฤติกรรมเหมือน vi อื่น ๆ
ฉันพยายามใช้ vim บน FreeBSD (ผ่าน ssh บนเทอร์มินัลที่รองรับ xterm) อย่างไรก็ตามเสียงเรียกเข้ามีลักษณะคล้ายกับ vi out-of-box ตัวอย่างเช่นมันไม่ตอบสนองต่อคีย์ลบให้ใส่ตัวอักษร F แทนการขึ้นในขณะที่อยู่ในโหมดแทรกเป็นต้น บน FreeBSD X11 ไม่ได้ติดตั้ง แก้ไข : ตามที่ถามฉันโพสต์vim --version # vim --version VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jul 28 2010 11:48:54) Included patches: 1-6, 8-35, 37-48, 50-70, 73, 75-87, 90-92, 94-100, 102-137, 139-149, …

1
ทำไม§ให้ฉันลบตัวละครสองตัวใน bash promt?
นี่เป็นปัญหาที่แปลกประหลาดมากและเฉพาะเจาะจงมากใน terminator เมื่อฉันพิมพ์อักขระ "§" ลงในหน้าต่างเทอร์มินัลแล้วกดแบ็คสเปซสองครั้งจะอนุญาตให้ฉันลบอักขระสองตัวออกแม้ว่าจะเป็นส่วนหนึ่งของสตริง PS1 ก็ตาม ขั้นตอนในการทำซ้ำ: พิมพ์ "§" ลงในเทอร์มินัล ลบ 2 ตัวอักษร ทำซ้ำ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.