วิธีเปิด Terminal Tabs หลายอันในโฟลเดอร์ต่าง ๆ (ไดเรกทอรีทำงาน)


10

ฉันต้องการหนึ่งสคริปต์เพื่อเปิดหลายแท็บในโฟลเดอร์ต่างๆ

ในขณะที่ค้นหาฉันพบรายการนี้แต่การแลกเปลี่ยนอย่างที่เห็นด้านล่างเปิดเทอร์มินัลโดยมีสามแท็บในโฟลเดอร์บ้านของฉัน ข้อความแสดงข้อผิดพลาดแสดง:

Failed to parse arguments: Unknown option --execute=cd /some/thing/

สคริปต์มีลักษณะดังนี้:

#!/bin/sh
gnome-terminal --tab --execute="cd /some/thing/" \
          --tab --execute="cd /home/" \
          --tab --execute="cd /home/" \
exit 0

การเปลี่ยนแปลงที่มี --working-directory = "/ some / things /" ก็ไม่ได้ช่วยเช่นกัน คุณเห็นข้อผิดพลาดหรือไม่?

คำตอบ:


8

งานต่อไปนี้สำหรับฉันใน oneiric คุณสามารถใช้สิ่งนี้แทนรุ่นของคุณ:

#!/bin/bash
gnome-terminal --tab  --working-directory="/var/www/" --tab --working-directory='/home/' --tab --working-directory='/home/'
exit 0

3

ข้อผิดพลาดเฉพาะของคุณเกิดจากการไม่ใช้--executeตัวเลือกอย่างถูกต้อง หากคุณดูข้อความที่ตัดตอนมาจากหน้าคนด้านล่างคุณจะสังเกตได้ว่า--execute ไม่มีเครื่องหมายเท่ากับรายการซึ่งเป็นส่วนหนึ่งของไวยากรณ์เนื่องจากมันจะเรียกใช้ส่วนที่เหลือทั้งหมดของบรรทัดคำสั่ง ตัวอย่างของการใช้ที่ถูกต้องคือ:

gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'

หมายเหตุสำคัญ:
การใช้cdงานเป็นกรณีพิเศษเล็กน้อย cdไม่เหมือนคำสั่งส่วนใหญ่ - มันไม่ได้เปิดตัวไบนารี / ปฏิบัติการของตัวเอง มันถูกตีความโดยตรงโดยbash(หรืออะไรก็ตามที่คุณใช้เชลล์) ดังนั้นความพยายามในการเรียกใช้cdไม่เห็นด้วยกับ--executeและตั้ง-xค่าสถานะ (ซึ่งดูเหมือนว่าต้องการวางไข่กระบวนการเด็กโดยตรง) ปัญหาเดียวกันจะเกิดขึ้น (ผมได้ตรวจสอบ) ที่มีคำสั่งอื่น ๆ ที่มีการประมวลผลโดยตรงเช่นbash homeแม้ว่าจะใช้อย่างถูกต้องโดยไม่มีเครื่องหมายเท่ากับ แต่จะยังส่งผลให้เกิดข้อผิดพลาด: "ไม่พบไฟล์หรือไดเรกทอรี" ดังนั้นการใช้--working-directory=[DIRECTORY]ตัวเลือกจึงเป็นทางออกที่ดีที่สุดของคุณสำหรับการทำสิ่งที่คุณต้องการจะทำ

หมายเหตุสำคัญอื่น ๆ :
แม้ว่านี่จะไม่ใช่กรณีนี้ แต่คุณก็ยังมีปัญหาอยู่ ปัญหาอยู่ที่การพยายามใช้--executeตัวเลือกเมื่อคุณตั้งใจจะใช้ความหมายของ--commandตัวเลือก ในเอกสาร man page นั้นระบุไว้โดยเฉพาะ

-e, - คำสั่ง = STRING
ดำเนินการอาร์กิวเมนต์กับตัวเลือกนี้ภายในเทอร์มินัล

-x, -
ดำเนินการดำเนินการส่วนที่เหลือของบรรทัดคำสั่งภายในอาคาร

(เน้นที่เหมือง)

มันอาจจะไม่แยกวิเคราะห์ในแบบที่คุณคิดว่ามันควร ใช้--executeป้องกันคุณจากการผ่านตัวเลือกเพิ่มเติมใด ๆ gnome-terminalไป

ข้อความที่ตัดตอนมาจากหนึ่งในสคริปต์ของตัวเองที่ฉันเรียกใช้หลายคำสั่งในแท็บแยกต่างหาก (เปลี่ยนชื่อเพื่อความเป็นส่วนตัว / ความปลอดภัยของฉัน):

gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"

(บังเอิญพยายามใช้การ--commandตั้งค่าสถานะด้วยcdหรือhomeจะทำให้เกิดข้อผิดพลาด "ไม่มีไฟล์หรือไดเรกทอรี" ที่คุ้นเคย)

ฉันหวังว่ามันจะไม่นานเกินไป ฉันแค่พยายามจะละเอียด

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