«shell-script» etiketlenmiş sorular

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

1
Zsh'de komut dosyası çalıştırma - dosya izinleri
Beklediğim gibi davranmayan dosya izinlerini yürütme konusunda kafam karıştı. Muhtemelen beklentilerim yanlış olduğu için. Neyse: Bir komut dosyası var, basitlik için sadece denir s, bulunur ~/bin. Bu örnek uğruna, dosya sadece aşağıdaki satırları içerir: #!/bin/zsh echo "Test"; Çok basit. Ben gitmek ~/bindizine ve chmoddosya izinleri siçin 400- yani salt okunur …

4
Sed ile bash değişkeni işleniyor
bash değişkeni LATLNG, bu şekilde parantez içinde bir enlem ve boylam değeri içerir (53.3096,-6.28396) Bunları sed gibi yapmaya çalıştığım LAT ve LON adlı bir değişkene ayrıştırmak istiyorum LAT=$(sed "s/(\(.*\),\(.*\))/\1/g" "$LATLNG") LON=$(sed "s/(\(.*\),\(.*\))/\2/g" "$LATLNG") Ancak, aşağıdaki hatayı alıyorum: sed: can't read (53.3096,-6.28396): No such file or directory

4
Değişkenlerle Döngü
Yaklaşık 20 farklı sunucuda rsync kullanmak ve dosyaları güncellemek için bir bash betiği yazıyorum. Ben rsync parçası anladım var. Sorun yaşadığım değişkenler listesinden geçiyor. Benim senaryom şu ana kadar benziyor: #!/bin/bash SERVER1="192.xxx.xxx.2" SERVER2="192.xxx.xxx.3" SERVER3="192.xxx.xxx.4" SERVER4="192.xxx.xxx.5" SERVER5="192.xxx.xxx.6" SERVER6="192.xxx.xxx.7" for ((i=1; i<7; i++)) do echo [Server IP Address] done [Server IP Address]İlişkili …



5
CD'yi belirli bir klasöre kadar yukarı kaldırın
Magento'da çok iş yapıyorum ve birlikte çalıştığım birçok insan da var ve yazmak zorunda kalıyorum: cd ../../../../../../ Sadece kök 'httpdocs' klasöründen hala birkaç dizin bulmak için, bu yüzden bu sahte kodu izleyen bir komut dosyası yapmaya çalışıyorum: while lowest level directory != httpdocs cd ../ end while; Oldukça basit görünüyor, …


3
Bash hata veriyor, satır 8: $ 1: ilişkisiz değişken
(Ben getopts daha iyi olabileceğini düşünüyorum rağmen) ayrıştırılmış girdi ile komut dosyaları olabilir böylece getopts kullanmayı öğrenmeye çalışıyorum. Sadece bölüm kullanım yüzdeleri döndürmek için basit bir komut dosyası yazmaya çalışıyorum. Sorun benim bash işlevlerinden biri ben $1işlev içinde bir değişken olarak başvuru gibi görünmüyor olmasıdır . Başvurmamın nedeni $1, get_percentişlevin …



7
dizin boş nasıl kontrol edilir
./123Boş bir yol argümanları ile bir komut dosyası yürütmek, bir gereksinim var, /usr/share/linux-headers-3.16.0-34-generic/.tmp_versions(bu dizin boş) deyin . "Dizin boş" yazmalıdır Kodum: #!/bin/bash dir="$1" if [ $# -ne 1 ] then echo "please pass arguments" exit fi if [ -e $dir ] then printf "minimum file size: %s\n\t%s\n" \ $(du $dir …

3
Klasör adlarım neden böyle çıktı ve bunu bir komut dosyası kullanarak nasıl düzeltebilirim?
Bunun başka bir yerde cevabı varsa, sorunumu nasıl arayacağımı bilmiyorum. Redhat linux HPC sunucusunda bazı simülasyonlar yapıyordum ve çıktıyı kaydetmek için klasör yapısını işlemek için kodum talihsiz bir hataya sahipti. Klasörü oluşturmak için matlab kodum: folder = [sp.saveLocation, 'run_', sp.run_number, '/']; sp.run_numbertamsayı nerede ? Bir dizeye dönüştürmeyi unuttum, ancak bazı …

6
Bourne kabuğu bir dağıtımda yoksa hashbang / bin / sh komutunu kullanmak doğru mudur?
Genellikle, kabuk komut komut dosyasının ilk satırında aşağıdaki yorumu içerir: #!/bin/sh. Yaptığım araştırmalara göre, buna "karma patlama" deniyor ve geleneksel yorum. Bu yorum Unix'e bu dosyanın Bourne Shell tarafından dizinin altında yürütüldüğünü bildirir /bin. Sorum o noktada başlıyor. Şimdiye kadar bu yorumu beğenmedim #!/bin/bash. Her zaman öyledir #!/bin/sh. Ancak, Ubuntu …

3
kafa ekstra karakterler yiyor
Aşağıdaki kabuk komutunun giriş akışının yalnızca tek satırlarını yazdırması bekleniyordu: echo -e "aaa\nbbb\nccc\nddd\n" | (while true; do head -n 1; head -n 1 >/dev/null; done) Ama bunun yerine sadece ilk satırı yazdırır: aaa. Aynı şey -c( --bytes) seçeneğiyle kullanıldığında gerçekleşmez : echo 12345678901234567890 | (while true; do head -c 5; …


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.