«shell» etiketlenmiş sorular

Kabuk Unix'in komut satırı arabirimidir. Kabuktaki komutları etkileşimli olarak yazabilir veya görevleri otomatikleştirmek için komut dosyaları yazabilirsiniz. / Bin / sh ve en uyumlu kabuklara (kül, bash, ksh, zsh,…) uygulanan sorular için bu etiketi kullanın. Hatalı kabuk komut dosyaları için lütfen buraya göndermeden önce http://shellcheck.net adresinden kontrol edin.

1
Bir kullanıcıyı özel programlar kullanması için kısıtlayabilir miyim?
Bir kullanıcı eklemek ve onu özel programlar çalıştırmakla sınırlamak mümkün mü? Örneğin, bu kullanıcı oturum açtıktan sonra, yalnızca İnternet'i kullanmak için Firefox'u açabilir ve bu kullanıcı tarafından başka hiçbir program çalıştırılamaz. Örneğin bir terminalde, $ HOME gibi bazı ortam değişkenlerini sildiğinizde komutlara erişilemez. Ancak programları Gnome gibi bir grafik kabuğunda …

3
shell: komut yerine yeni satırlar ('\ n') koy
Sondaki yeni satır karakterleri de dahil olmak üzere, bir komut ikamesinin kesin çıktısını yakalayabilmek istiyorum . Varsayılan olarak soyulduklarının farkındayım, bu yüzden onları tutmak için bazı manipülasyonlar gerekebilir ve orijinal çıkış kodunu korumak istiyorum . Örneğin, değişken sayıda son satır ve çıkış kodu içeren bir komut verildiğinde: f(){ for i …
14 bash  shell 

3
Tuzak bir alt kabuk tarafından miras alınır?
Aşağıdaki komut dosyasını denedim: #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo Yukarıdaki komut dosyasının çıktısı şöyleydi: [root@usr1 my_tests]# ./test.sh foo1 foo touching a file Ancak tuzağın da çıkışta çağrılmasını bekliyordum foo1, ki bu da alt …
14 shell  trap  subshell 

3
son sınırlayıcıda dize kes
Ben bir dosya adı var a.b.c.txt, ben bu dize bölünmüş istiyorum string1=a.b.c string2=txt Temelde dosya adını ve uzantısını bölmek istiyorum. Ben kullanılan cutama o kadar böler a,b,cve txt. Son sınırlayıcıdaki ipi kesmek istiyorum. Birisi yardımcı olabilir mi?
14 shell  cut 


3
bash ekstra tek tırnak ekler
Betiğimi yürütürken bir sorunum var. Hata ayıklama modunda (bash -x) yürütürken, bash'ın ekstra tırnak eklediğini görebiliyorum. Bu yüzden senaryom başarısız oluyor. İşte bu benim script içinde: testvar="\"sudo /home/pi/shared/blink.sh 27 off\"" ssh -n -q -q -o BatchMode=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=5 $1 ${testvar} Bu çıktı: ssh -n -q -q …
14 shell  ssh  quoting 


8
Terminal kutusu neden duyarlıdır?
Yaptığımda - CD ..bunun yerine cd .. bana hata diyerek hata veriyor - CD: command not found Linux komutları söz konusu olduğunda terminal kutusu neden hassastır? Yani komutu "büyük harf" veya "küçük harf" karakterleriyle uygulayabilmeniz gerekir. Bunun bir nedenden dolayı olduğunu biliyorum, ama sadece merak ediyorum.


2
Yürütülebilir dosyaların sırası bash'ta başladı
testKomutu bash'de çalıştırırsam , test(koşullu ifadeyi değerlendirir) yerleşik yardımcı program başlatılır: $ type test test is a shell builtin $ type -a test test is a shell builtin test is /usr/local/bin/test test is /usr/bin/test $ Ancak, type -a testyukarıdaki çıktıda görüldüğü gibi, test/ usr / local / bin dizininde bir …

3
yankı veya baskı / dev / stdin / dev / stdout / dev / stderr
/ Dev / stdin, / dev / stdout ve / dev / stderr değerini yazdırmak istiyorum. İşte benim basit senaryom: #!/bin/bash echo your stdin is : $(</dev/stdin) echo your stdout is : $(</dev/stdout) echo your stderr is : $(</dev/stderr) aşağıdaki boruları kullanıyorum: [root@localhost home]# ls | ./myscript.sh [root@localhost home]# testerr …

4
SIGINT ve benzerlerini yakalarken çıkış kodları saklansın mı?
Eğer ctrl-c (veya benzeri) yakalamak ve çıkmadan önce temizlemek için trapörneğin http://linuxcommand.org/wss0160.php#trap açıklandığı gibi kullanırsanız o zaman iade çıkış kodunu değiştiriyorum. Şimdi bu muhtemelen gerçek dünyada bir fark yaratmayacaktır (örneğin, çıkış kodları taşınabilir olmadığından ve bunun üzerine , işlem sonlandırıldığında Varsayılan çıkış kodunda tartışıldığı gibi her zaman açık değil mi? …

2
Kabuktaki $ @ veri yapısı nedir?
Genellikle $@0 $ dışındaki tüm argümanları temsil etmek için kullanırız . Ancak, veri yapısının ne olduğunu bilmiyorum $@. Neden $*çift ​​tırnak içine alındığında farklı davranıyor , kimse bana tercüman düzeyinde bir açıklama verebilir mi? Döngü için yinelenebilir, bu yüzden dizi gibi görünüyor. Bununla birlikte, echo $@bir dizi ise, sadece ilk …
13 bash  shell 


2
SSH -t arka plan süreçlerini neden beklemiyor?
Neden ssh -tarka plan işlerinin bitmesini beklemiyor? Misal: ssh user@example 'sleep 2 &' Ssh 2 saniye sonra döndüğü için bu beklendiği gibi çalışır. ssh user@example -t 'sleep 2 &' sleepbitmesini beklemez ve hemen geri döner. Bunun nedenini kimse açıklayabilir mi? Geri ssh -tdönmeden önce tüm arka plan işlemlerinin bitmesini beklemenin …

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.