«shell-script» etiketlenmiş sorular

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


4
Bir döngü cihazı atomik olarak nasıl tahsis edilir?
Bazı disk görüntü şeylerini işlemek için bazı kabuk komut dosyaları yazıyorum ve bazı disk görüntülerine erişmek için döngü aygıtlarını kullanmam gerekiyor. Ancak, benim programımı bir yarış durumuna maruz kalmadan bir döngü cihazı düzgün tahsis nasıl emin değilim. Bir losetup -fsonraki ayrılmamış döngü aygıtı almak için kullanabileceğinizi biliyorum , ve sonra …


2
Parantez bash kabuğunun kendisinde çalışır, ancak bash komut dosyasında çalışmaz
Bu komutu komut satırı istemimden çalıştırabilirim: cp -r folder/!(exclude-me) ./ Geçerli dizine adlandırılan alt dizin folder dışındaki tüm içeriğini özyinelemeli olarak kopyalamak için exclude-me. Bu tam olarak tasarlandığı gibi çalışır. Ancak, ben bu var, ben yazdığım bir bash komut dosyası çalışmak için buna ihtiyacım var: if [ -d "folder" ]; …

2
Karakterleri sayan bir kabuk komut dosyasında sorun yaşıyorsanız
Temel bilgileri öğrenmeye çalışıyorum ve bir kullanıcının girdisinin karakterlerini sayarak senaryomla ilgili bir sorunla karşılaştım. İşte benim senaryom, birisi nereye gittiğimi gösterebilir mi lütfen? #!/bin/bash echo "Enter a word!" read INPUT_STRING len= echo $INPUT_STRING | wc -c echo "Your character length is " $len exit

3
Find unix komutunu kullanarak mutlak yolu nasıl alabilirim
Find komutunu kullanarak mutlak yol elde etme. aslında aşağıdaki komut dosyasını çalıştırıyorum: - find . -size +20M | while read a do i=$(echo $a | sed 's:/: :g') echo $a; j=($i) fileName=${j[${#j[@]}-1]} userName=${j[${#j[@]}-3]} done ama burada $abaşlayan yol gösteren değişken ./Downloads/filenameama mutlak yol istiyorum /.



4
Neden bir Bash betiğinden çağrılan zaman aşımını bir tuşa basarak öldüremiyorum?
[Düzenle: Bu, tüm ortaya çıkan süreçlerin nasıl öldürüleceğini soran diğer bazı sorulara benzer - cevapların hepsi pkill kullanmak gibi görünüyor. Yani sorumun özü şu olabilir: Ctrl-C / Z'yi bir komut dosyası tarafından oluşturulan tüm işlemlere yaymanın bir yolu var mı?] Coreutils ( burada ele recalınan) timeoutkomutuyla bir SoX çağırırken , …

3
basn ile çizim gnuplot otomatikleştirmek
Hata kenar boşlukları ile çizgi grafikler olarak çizilmesi ve farklı png dosyaları çıktı gereken 6 dosya var. Dosya biçimi aşağıdaki gibidir. saniye ortalama-ortalama min maks Bu grafikleri otomatik olarak nasıl çizebilirim? Bu yüzden bash.sh adlı bir dosyayı çalıştırıyorum ve 6 dosyayı alıp grafikleri farklı .pngdosyalara çıktılar . Başlıklar ve eksen …

2
Döngü çıkışı için borular yerel değişken modifikasyonunu önler
Ben argüman olarak, bir dizi dosya ve / veya dizin alır basit bir bash işlevi yazmaya çalışıyorum. Olması gerekiyor: Dosya adlarını tam olarak nitelendirin. Onları sıralayın. Kopyaları kaldırın. Gerçekten var olan her şeyi yazdırın. Varolmayan dosyaların sayısını döndürür. Neredeyse istediğimi yapan bir senaryom var, ama sıralama düşer. Komut dosyasının durduğu …

2
tarih - 1901'den önceki yıllar geçersiz sayılır
Sistemime tarih (GNU coreutils) 7.1 yüklü. 14-Aralık-1901'den önceki tarihleri ​​kontrol etmeye çalışırsam, "geçersiz tarih" hatası alıyorum. Örneğin, $ date -d 1901-12-13 date: invalid date `1901-12-13' $ date -d 1901-12-14 Sat Dec 14 00:00:00 EST 1901 dateYardımcı programı 1901'den önceki yıllara geçerli olarak muamele etmek için ne yapmalıyım ? 19 Ocak …


3
Kabuk Betiği: içindeki seçeneklerle bir değişken oluşturma
Aşağıdaki parametreleri ile bir rsync komutu var: rsync -avz --{partial,stats,delete,exclude=".*"} Bu parametreleri komut dosyasında sonra tekrar kullanmak için bir değişkenin içine koymak istiyorum. Bunun gibi bir şey: #!/bin/bash VAR=rsync -avz --{partial,stats,delete,exclude=".*"} $VAR /dir1 /dir2 Ben tırnak, tek tırnak, köşeli ayraçlar, herhangi bir başarı ile denedim.

3
$ HOME / bin dizin $ PATH üzerinde değil
Benim içinde ~/.profileben benim kişisel yüklenmesi gereken bir son blok var bin/ directoryböyle: # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi Ama görünüşte yüklü değil: echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games Bu neden çalışmıyor? (Kabuğum bash.) Tigger için düzenle echo …

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.