«shell-script» etiketlenmiş sorular

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


4
Kapatmadan önce bir komut yürütün
Bilgisayar kapanmadan hemen önce basit bir komut çalıştırmak istiyorum (zamanlama gerekli değildir). Başlangıç ​​için /etc/rc.local; kapatma için benzer bir şey var mı? Hala menüden entegre kapatma düğmesini kullanmak istediğimi unutmayın; yani, her terminalde kapattığımda özel bir script kullanmak istemiyorum - otomatik olması gerekiyor.



4
Gereksiz kedileri umursamalı mıyım?
Bir çok komut satırı yardımcı programı girişlerini bir borudan veya dosya adı argümanı olarak alabilir. Uzun kabuk betikleri için cat, özellikle ilk komutun çok satırlı argümanlara gereksinim duyması durumunda, zinciri başlatmayı daha okunaklı hale getirir buluyorum . Karşılaştırmak sed s/bla/blaha/ data \ | grep blah \ | grep -n babla …



4
Bir öğeyi bir diziden tamamen nasıl kaldırabilirim?
unset array[0]öğeyi kaldırır, ancak yine de echo ${array[0]}boş bir değer elde edersem, üstelik bunu yapmanın başka yolları da var; array[0]='james young' array[1]='mary' array[2]='randy orton' ancak bunlar da işi yapamıyor array=${array[@]:1} #removed the 1st element şimdi yeni dizinin benzemesini istiyorum array[0]='mary' array[1]='randy orton' Boşluklar atamadan sonra soruna neden olur ve asıl …

2
bash betiğinde stderr mesajlarını bastır
Aşağıdaki (biraz aptalca) komut dosyası adını 'test1.sh' düşünün: #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Çalıştırdığımda, yalnızca yankı çıktısını almakla kalmıyor, aynı zamanda bash'ın stderr'deki uykunun ölümünü bildirdiğini görüyorum: $ ./test1.sh sleep pid = 3551 ./test1.sh: line 5: 3551 Terminated sleep 10 Bu durumda, çıktının …


4
Neden (1. çıkış) komut dosyasından çıkmıyor?
İstediğimde çıkmayan bir betiğim var. Aynı hatayı içeren bir örnek komut dosyası: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Çıktıyı görmeyi varsayardım: :~$ ./test.sh 1 :~$ Ama aslında görüyorum ki: :~$ ./test.sh 1 2 :~$ Does ()nasılsa zincirleme komut, …


3
Birden fazla platformda doğru tmp dir'in bulunması
Çalışması için geçici dosyalar oluşturması ve kendisinden sonra temizlemesi gereken bir betiğim var. Sorum geçici dosyalar için doğru dizini bulmakla ilgili. Script birden fazla platformda çalışması gerekiyor: Git Bash (Windows), Solaris, Linux, OSX. Her platformda, tercih edilen geçici dizin farklı şekilde ifade edilir: Windows: %TMP%(ve muhtemelen %TEMP%) OSX: $TMPDIR Linux, …


8
POSIX zorunlu yardımcı programları neden kabukta yerleşik değil?
Bu sorunun amacı, belirli bir bilgisayar problemini çözmemek, merakı cevaplamaktır. Soru şudur: POSIX zorunlu yardımcı programlar neden genellikle kabuk uygulamalarına dahil edilmemiştir? Örneğin, temelde birkaç küçük metin dosyasını okuyan ve düzgün bir şekilde biçimlendirildiğini kontrol eden bir komut dosyası var, ancak makinemde önemli miktarda dize işleminden dolayı çalıştırılması 27 saniye …

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.