«shell-script» etiketlenmiş sorular

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

1
Bir bash betiğinde Çoklu İş parçacığı / Forking
Aşağıdaki formatta bir bash betiği yazdım: #!/bin/bash start=$(date +%s) inFile="input.txt" outFile="output.csv" rm -f $inFile $outFile while read line do -- Block of Commands done < "$inFile" end=$(date +%s) runtime=$((end-start)) echo "Program has finished execution in $runtime seconds." whileDöngü gelen okuyacak $inFile, hat üzerinde bazı etkinlikler gerçekleştirmek ve sonucu dökümü $outFile. …


4
Bir borudan kullanıcı girişi nasıl okunur?
confirmation.shAşağıdaki içeriğe sahip bir dosyam olduğunu varsayalım : #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac ve bu betiği şu şekilde çalıştırmak istiyorum: cat confirmation.sh | sh Anlıyorum Are you sure [Y/n]?ve senaryo kesintiye uğradı. Sorun …



2
Bash betiğinin içinde çalıştırıldığında “tarih” çalışmayı durdurur
Belirli bir dize bulmak için bash geçmişimi grep basit bir komut dosyası yazıyorum. Komut satırında, aşağıdakileri yapabilirim, ki bu iyi çalışıyor: history | grep git Ancak, yukarıdakiyle aynı komutla bir bash betiği oluşturduğumda, aniden historyhiçbir şey döndürmez: #!/bin/bash history | grep git İlk satırı kaldırdığımda, #!/bin/bashkomut dosyam tekrar çalışıyor. Burada …


5
Benzersiz tanımlayıcı ile iki dosyayı birleştirme
Katılmak istediğim sırasıyla yaklaşık 12900 ve 4400 girişli iki dosyam var. Dosyalar, dünyadaki tüm kara tabanlı hava gözlem istasyonları için konum bilgileri içerir. En büyük dosya iki haftada bir güncellenir ve yılda bir kez daha küçüktür. Orijinal dosyaları burada bulabilirsiniz ( http://www.wmo.int/pages/prog/www/ois/volume-a/vola-home.htm ve http://weather.rap.ucar.edu/surface/ stations.txt ). Sahip olduğum dosyalar zaten …


3
Bir bash betiği ile yapılandırma dosyasını düzenleme
Bir uygulamayı yüklemek ve yapılandırma dosyasını güncellemek için kullanacağım basit bir bash komut dosyası yazmaya çalışıyorum. Bu yapılandırma dosyasını değiştirmek için zor zamanlar yaşıyorum. # DBHost=localhost DBName=test # DBPassword= herhangi bir öneri nasıl aşağıdaki gibi değiştirilmiş yukarıda alabilirim? DBHost=localhost DBName=database DBPassword=password


2
Python Shebang ile tüm dosyaları bul
Büyük bir kaynak ağaca karşı PEP8 kontrolü yapmaya çalışıyorum. Ağaç, çeşitli dillerde bir dosya karışımından oluşur. Fikir, tüm Python komut dosyalarını açıkça listelemek zorunda kalmadan kontrol etmektir. Bu dosyaların çoğunun aslında bir .pyuzantısı yoktur. Mesele Python kelimesi ile tüm dosyaları bulmak veya yürütüldüğünde Python ile çalıştırılacak tüm dosyaları bulmak için …

3
case + sözdizimi durumunda eşit veya daha az veya daha büyük nasıl uygulanır
Hedefim bir sayı aralığını (yalnızca case+ ile esac) doğrulamak ve aralığı yazdırmaktır. Yani mesela: Sayı 0 ile 80 arasındaysa, yazdırın >=0<=80 Sayı 81 ile 100 arasındaysa, yazdırın >=81<=100 vb. Aşağıdaki komut dosyamdaki sorun >=0<=90yalnızca 0 ile 9 arasındaki sayılarda yazdırılıyor. Kodumu nasıl düzeltebilirim, böylece sayı aralığına göre doğru çıktıyı yazdıracak …

4
Verilen dosyalarda satırın sonundaki boşlukları nasıl kaldırırım (birden fazla)?
Sooo kaynak dosyalarında, onları göstermek için vim bile yapılandırdığım gereksiz boşluklardan bıktım. Sorun şu ki, (her zaman olmasa da) çok sık arkadaşlarımla geliştiricilerle işe yaramaz alanlarla uğraşmak zorunda kalıyorum. Sadece kaynak dosyaları (normal bir ifade verilen) taramak ve verilen tüm dosyalardan boşlukları kaldırmak istiyorum. Ben web ("bash boşluk kaldırmak" vb) …

6
Şablondan metin dosyaları oluşturma aracı
Şablonlardan düzenli olarak 100'den fazla metin dosyası oluşturmam gerekiyor. Şu anda aşırı karmaşık bir kabuk komut dosyası kullanıyorum. Bunun üstesinden gelmek için daha akıllı bir yol olduğunu düşünüyorum, ama nasıl yapacağımı bilmiyorum. Bir "veritabanı" var: # outputfile template data1 data2 data3 first.txt $template_main $text1 abcd 1234 second.txt $template_main $text2 efgh …

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.