Farklı klasörlerde (çalışma dizinleri) birkaç Terminal Sekmesi nasıl açılır?


10

Bir komut dosyasının farklı klasörlerde birkaç Sekme açmasını istiyorum.

Arama yaparken bu girişi buldum , ancak aşağıda görüldüğü gibi bir exchange, ana klasörümde üç sekmeli bir Terminal açtı. Hata mesajı şunu gösterdi:

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

Komut dosyası şöyle görünür:

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

--Working-directory = "/ some / thing /" ile yapılan bir Varyasyon da yardımcı olmadı. Bir hata görebiliyor musun?

Yanıtlar:


8

Aşağıdaki benim için oneiric üzerinde çalışıyor. Bunu sürümünüzün yerine kullanabilirsiniz:

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

3

Belirli hatanız, --executeseçeneği doğru kullanmamanızdan kaynaklanır . Aşağıdaki man sayfasından alıntıya bakarsanız , söz diziminin bir parçası olarak listelenen eşittir işaretinin --execute olmadığını , çünkü komut satırının geri kalanının tamamını yürüttüğünü göreceksiniz . Doğru kullanım örneği:

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

ÖNEMLİ NOT: Yine de
kullanmak cdbiraz özel bir durumdur. cdçoğu komut gibi değildir; kendi başına bir ikili / yürütülebilir dosya başlatmaz. Doğrudan bash(veya hangi kabuğu kullanırsanız kullanın) tarafından yorumlanır . Bu nedenle, çağırmaya çalışmak ve (bir çocuk sürecini doğrudan ortaya çıkarmak istiyor gibi görünen) ve bayrakları cdile aynı fikirde değildir . Aynı sorun, doğrudan gibi tarafından işlenen diğer komutlarla (kontrol ettim) gerçekleşir . Eşittir işareti olmadan düzgün kullanılsa bile, yine de hataya neden olur: "Dosya veya dizin bulunamadı." Bu nedenle seçeneği kullanmak, yapmak istediğiniz şeyi yapmak için en iyi seçenektir.--execute-xbashhome--working-directory=[DIRECTORY]

BAŞKA BİR ÖNEMLİ NOT:
Durum böyle olmasa bile, yine de sorun yaşarsınız. Sorun, --executeaslında --commandseçeneğin anlamını düşündüğünüzde seçeneği kullanmaya çalışmaktır . Kılavuz sayfası belgelerinde özellikle

-e, --command = STRING Terminal içindeki bu seçeneğe yönelik argümanı
yürütün .

-X, --execute
Yürütme komut satırının geri kalanı terminal içinde.

(benimkini vurgula)

Başka bir deyişle, muhtemelen olması gerektiği gibi ayrıştırmayacaktır. Kullanmak --executedaha fazla seçeneğe geçmenizi engeller gnome-terminal.

Ayrı sekmelerde birden fazla komut çalıştırdığım kendi komut dosyalardan birinden bir alıntı (gizlilik / güvenliğim için isimler değişti):

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

(Bu arada, --commandbayrağı cdveya ile kullanmaya çalıştığınızda hometanıdık "Böyle bir dosya veya dizin yok" hatasıyla sonuçlanacaktır.)

Umarım bu çok uzun değildir. Sadece titiz olmaya çalışıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.