«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.

2
Atamalar, komut değiştirme yerine çıkış durumundaki komutlar gibidir?
POSIX mermilerinde aşağıdaki örneklere ve bunların çıktılarına bakın: false;echo $?veya false || echo 1:1 false;foo="bar";echo $?veya foo="bar" && echo 0:0 foo=$(false);echo $?veya foo=$(false) || echo 1:1 foo=$(true);echo $?veya foo=$(true) && echo 0:0 Https://stackoverflow.com/questions/6834487/what-is-the-variable-in-shell-scripting adresindeki en yüksek oyu alan yanıtta belirtildiği gibi : $? son yürütülen komutun dönüş değerini bulmak için …




2
Mevcut işlemi yerine getirme işlemi / alt öğesi ile değiştirme
P"Merhaba" almak ve "Neden?" Çıktı bekliyor bir program var bir özellik sağlamadan önce. Bu özellik, "Merhaba" ile bir konuşma başlatmanın yaygın bir nezaket olduğunu bilmeyen diğer programlar tarafından kullanılır. Böylece Pbu (zsh sözdizimi) gibi çalışır için bir sarıcı yazmak istiyorum : coproc P print -p Hello # Send Hello to …
10 shell  scripting  process  zsh 

4
Neden “set” adlı programım yürütülmüyor?
Ben böyle basit bir C programı oluşturdum: int main(int argc, char *argv[]) { if (argc != 5) { fputs("Not enough arguments!\n", stderr); exit(EXIT_FAILURE); } Ve benim PATH vb / bash.bashrc gibi değiştirilmiş var : PATH=.:$PATH Bu programı set.c olarak kaydettim ve derliyorum gcc -o set set.c klasörde ~/Programming/so Ancak, aradığımda …

3
Komutu her X saniyede bir gerçekleştir
Ben 10 saniye boyunca bir komut gerçekleştirmek ve arka planda yürütmek istiyorum (böylece ortadan kaldırmak watch?). Tüm cevaplar aşağıdaki gibi bir şey gösterir, ancak bu 11 ila 14 saniye arasında yürütülür. Bu nasıl yapılabilir? while true; do # perform command that takes between 1 and 4 seconds sleep 10 done

2
POSIX kabuğundaki tüm çıktıları “logger” a nasıl gönderirim?
.xprofileKullanırken standart çıktı ve standart hatayı ayrı ayrı günlüğe kaydetmek istiyorum logger. Bash'de bunun şöyle görüneceğini düşünüyorum: exec 1> >(logger --priority user.notice --tag $(basename $0)) \ 2> >(logger --priority user.error --tag $(basename $0)) Bunu POSIX /bin/sh uyumlu bir şekilde nasıl yapabilirim ?
10 shell  pipe  posix 

7
Beşlerle saymak için bir senaryoyu nasıl yapabilirim?
375 ve 3500 (375, 380, 385 ...) arasındaki beşin katlarını listelemek için çok basit bir bash betiği yapmaya çalışıyordum. Denediğim ve çalışmadığım bir şey: for i in {375..3500} do echo $i (($i += 5)) done Bir süre sonra vazgeçtim ve BASIC'te yaklaşık 15 saniye içinde yazdım: 10 count = 375 …
10 bash  shell  scripting 

2
Kabuk ad alanları
sourceBir ad alanı, tercihen bir bash kabuk komut dosyası içine bir kabuk komut dosyası için bir yol var mı ama bu özelliği varsa ve bash yoktu diğer kabukları bakmak istiyorum. Bununla kastettiğim, örneğin "önceden tanımlanmış sembollerle (değişken adları, işlev adları, takma adlar) çarpışmamaları için" tüm tanımlanmış sembollere bir şey önek …
10 shell 


6
Adlarında boşluk bulunan dosyaları silme
Adlarında boşluk olan tüm dosyaları silmeye çalışıyorum. Aşağıdaki komutu kullanıyorum. Ama bu bana bir hata veriyor Komut: ls | egrep '. ' | xargs rm Burada sadece ls | egrep '. 'komut kullanıyorsam , dosya adlarında boşluk olan tüm dosya adını veriyor. Ama ben rm çıktısını geçmek çalışırken, tüm boşluklar …
10 shell  quoting  rm  xargs 

1
Bazı komutlarda belirli parametreleri izleme
Diyelim ki bir komutum var git branch(her zaman birkaç kelimeyle). Ne istiyorum bu komut argümanlarla yürütüldüğünde takip etmektir. Örneğin, komutu git branch develophatasız yürütürsem, developbir dosyaya kaydetmek istiyorum . Git komutumun üzerine yazmaya çalıştım .bash_profile, şöyle bir şey: git () { if [ $# -eq 3 ] then git $@ …
10 bash  shell  function 

5
Bir cronjob saat dilimini değiştirme
Her gün saat 9: 00'da UTC-Time'da yürütülen bir cronjob var. GMT + 1'deyim, bu yüzden yerel saatle 10: 00'da çalışıyor. Saat dilimi değişikliği olduğunda (gün ışığından yararlanma saati, DST'ye), cronjob hala UTC-Saat 9:00 AM'da, yerel saat 11:00 AM'de yürütülür. Ama yaz saati olsun ya da olmasın her zaman saat 10: …
10 shell  cron  timezone 


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.