«shell-script» etiketlenmiş sorular

Kabuk komut dosyaları, kabuk tarafından yorumlanan yürütülebilir dosyalar (bash, zsh, vb.) İle ilgili sorular.

6
Tuzak, ERR ve hata satırını yankı
Tüm hatalarda işlev çağırmak için Tuzak kullanarak bazı hata raporları oluşturmaya çalışıyorum: Trap "_func" ERR ERR sinyalinin hangi hatta gönderildiğini bulmak mümkün müdür? Kabuk bash. Bunu yaparsam hangi komutun kullanıldığını okuyabilir ve rapor edebilirim ve bazı işlemleri yapabilirim / yapabilirim. Ya da belki de tamamen yanlış yapıyorum? Aşağıdakilerle test ettim: …



1
Bash case ifadeleri art arda olabilir mi?
Böyle bir şey yapmaya çalışıyorum: case $level in 3) echo "Level Three" 2) echo "Level Two" 1) echo "Level one" ;; esac eğer $ seviye = 3 ise çıktı Level Three Level Two Level One $ level = 1 ise, yalnızca çıktı Level One Ama denediğimde hata alıyorum syntax error …



7
Komut dosyasının mutlak yolunu elde etmenin taşınabilir yolu?
(Zsh) betiğinin mutlak yolunu belirlemesinin taşınabilir bir yolu nedir? Linux'ta böyle bir şey kullanıyorum mypath=$(readlink -f $0) ... ama bu taşınabilir değil. (Örneğin, readlinkDarwin'de -fbayrağını tanımıyor veya hiçbir eşdeğeri yok.) (Ayrıca, bunun için kullanmak readlinkkuşkusuz, belirsiz görünen bir kesmektir.) Daha taşınabilir bir yol nedir?

4
Bash kabuk betiği çıktı hizalaması
Benim betiğim: date echo -e "${YELLOW}Network check${NC}\n\n" while read hostname do ping -c 1 "$hostname" > /dev/null 2>&1 && echo -e "Network $hostname : ${GREEN}Online${NC}" || echo -e "${GRAY}Network $hostname${NC} : ${RED}Offline${NC}" done < list.txt sleep 30 clear done Bu şekilde bilgi çıktısı veriyor mu: Network 10.x.xx.xxx : Online Network …

4
RAM'de geçici bir dosya nasıl yapılır?
Çıktısını yönlendirecek bir senaryom var |tee scriptnameYYMMDD.txt. Çıktının oluşturulduğu for döngüsünün her döngüsünden sonra, dosya içeriğini tersine çevireceğim, tac scriptnameYYYYMMDD.txt > /var/www/html/logs/scriptname.txtböylece log çıktısı en yeni satırların bulunduğu tarayıcı penceresinde görülebilir. Paralel olarak bunu yapan birkaç senaryo var. Disk etkinliğini en aza indirmeye çalışıyorum, bu yüzden |tee scriptnameYYYYMMDD.txtRAMDisk'ten çıktı en …

3
Solaris'te bir komuttan çıktıyı renklendirmek için sed komutunu kullanma
Hem linux hem de solaris üzerinde çalışması gereken bir ksh betiğim var. Belirli komutların çıktılarını renklendirmeye çalışıyorum. Linux üzerinde çalışır (özellikle RHEL6), ancak solarislerde (SunOS 5.10) çalışmaz. Linux'da komut ("test" çıkışı doğru şekilde kırmızı renkte gösterilmiştir): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test Solaris'e verilen komut ("test" çıkışı renkli değil): …

3
`{{(1. çıkış); çıkış 1; }; } `demek?
config.statusTarafından oluşturulan bir sonraki kod parçasını alıntı yaptım configure. if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } fi Kod …

11
Neden kabuk otomatik olarak “işe yaramaz kedi kullanımı” nı düzeltmiyor? [kapalı]
Birçok insan satır boyunca kod içeren oneliner ve scriptler kullanır cat "$MYFILE" | command1 | command2 > "$OUTPUT" Birincisine catgenellikle "işe yaramaz kedi kullanımı" denir, çünkü teknik olarak, /usr/bin/cateğer komut olsaydı, bundan kaçınılması gereken yeni bir işlem başlatmayı gerektirir. < "$MYFILE" command1 | command2 > "$OUTPUT" Çünkü o zaman kabuk …

5
Neden “do” yu “ile” aynı çizgiye yerleştirmem gerekiyor?
1. Özet Anlamıyorum, neden E010 bazhate kuralına ihtiyacım var ? 2. Ayrıntılar Dosyaları sıralamak için bashate kullanıyorum .sh. E010 kuralı: yapmak aynı satırda değil için for bashate: Doğru: #!/bin/bash for f in bash/*.sh; do sashacommand "$f" done Hata: #!/bin/bash for f in bash/*.sh do sashacommand "$f" done Herhangi bir geçerli …

1
Bash satırında && ve || belgelenmiş?
Bu yapıyı senaryolarda çok gördüm ve kendim kullandım, ancak dokümantasyonda bulamadığımı rahatsız ediyor beni. Örnek: [ -f file1 ] && [ -f file2 ] && echo "Both files exist." || echo "One or the other file doesn't exist." Bu, aşağıdaki gibi, newlines'tan önce ters eğik çizgi ile de yapılabilir man …

4
Shell Fonksiyonlarında Yerel Değişkenlerin Kapsamı
24.2 okuduktan sonra Yerel Değişkenler , varanahtar kelimeyle bir değişken bildirmenin , değerine yalnızca bir işlevin kıvrımlı parantezleri tarafından sınırlandırılmış kod bloğu içinde erişilebilir olduğu localanlamına geldiğini düşündüm var. Ancak, şu örneği çalıştırdıktan sonra, ben öğrendim varda okumak, erişilebilir ve o kod bloğunda tarafından çağrılan işlevlerden yazılabilir - yani rağmen …

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.