«bash» etiketlenmiş sorular

Bash komut kabuğu için yazılmış komut dosyaları hakkında sorular için. Hata / sözdizimi hatalarına sahip kabuk komut dosyaları için, lütfen buraya göndermeden önce shellcheck programıyla (veya https://shellcheck.net adresindeki web shellcheck sunucusunda) kontrol edin. Bash'in etkileşimli kullanımı ile ilgili soruların Yığın Taşması'ndan çok Süper Kullanıcı'da konuya bağlı olma olasılığı daha yüksektir.


9
Varsayılan değeri olan bash değişkenini okuma
Bir bash komut dosyasında terminalden bir değer okumak gerekiyor. Kullanıcının değiştirebileceği varsayılan bir değer sağlayabilmek istiyorum. # Please enter your name: Ricardo^ Bu komut dosyasında "Lütfen adınızı girin:" istemi varsayılan değer "Ricardo" dur ve imleç varsayılan değerden sonra olacaktır. Bunu bir bash betiğinde yapmanın bir yolu var mı?
191 bash  shell 

3
Bir kabuk komutu başarısız olana kadar tekrar tekrar çalıştırılsın mı?
Güvenilmez bir şekilde başarısız olan bulanık bir test yazdım . Bazı hata ayıklama kodu ekledim, ancak şimdi hata ayıklama çıktısını toplamak böylece başarısız olana kadar testi çalıştırmak istiyorum. Testi kullanarak ben çalıştırabilirsiniz böylece kurdum: ./runtest Şu anki çözümüm bir untilfailsenaryo yazmak : #!/bin/bash $@ while [ $? -eq 0 ]; …
191 bash 


16
Bash betiğinden geçerli dizini değiştirme
Geçerli dizini bir komut dosyasından değiştirmek mümkün müdür? Bash'te dizin navigasyonu için bir yardımcı program oluşturmak istiyorum. Aşağıdaki gibi görünen bir test komut dosyası oluşturdum: #!/bin/bash cd /home/artemb Bash kabuğundan betiği yürüttüğümde geçerli dizin değişmiyor. Geçerli kabuk dizinini bir komut dosyasından değiştirmek mümkün müdür?
190 bash  environment 

6
Stdin girişi boşsa xargs komutlarını nasıl yok sayabilirim?
Bu komutu düşünün: ls /mydir/*.txt | xargs chown root Amaç, tüm metin dosyalarının sahiplerini mydirkökten değiştirmek Sorun, eğer .txtdosya yoksa mydiro zaman xargs belirtilen bir yol olmadığını söyleyen bir hata çözer. Bu zararsız bir örnektir, çünkü bir hata atılır, ancak bazı durumlarda, burada kullanmam gereken komut dosyasında olduğu gibi, boş …
189 bash  centos  xargs 




13
Dizilerin bash'de parametre olarak iletilmesi
Bir diziyi bash işlevine parametre olarak nasıl iletebilirim? Not: Burada Stack Overflow'da bir cevap bulamadım, biraz kaba çözümümü kendim yayınladım. Sadece bir dizi geçirilmesine izin verir ve parametre listesinin son elemanıdır. Aslında, diziyi hiç geçmiyor, ancak call_function () ile bir diziye yeniden birleştirilen öğelerinin bir listesi, ama benim için çalıştı. …
188 arrays  bash 

13
Bash'da bir işlevin var olup olmadığını belirleme
Şu anda bash yürütülen bazı birim testleri yapıyorum. Birim testleri bir bash betiğinde başlatılır, yürütülür ve temizlenir. Bu komut dosyası genellikle bir init (), execute () ve cleanup () işlevleri içerir. Ancak zorunlu değildir. Tanımlanmış olup olmadıklarını test etmek istiyorum. Bunu daha önce kaynağı açıp kapatarak yaptım, ama yanlış görünüyordu. …

4
geçersiz komut kodu. kaçan dönemlere rağmen sed kullanarak
Geçerli bir istemci için CVS kullanmak zorunda kalmak ve uzak repo için adres değişti. Yerel kodumdaki uzak adresi değiştirmenin tek yolu yinelemeli arama ve değiştirme. Ancak, sed komutuyla çalışmayı beklerdim: find ./ -type f -exec sed -i "s/192.168.20.1/new.domain.com/" {} \; Her dosya için bir hata alıyorum: sed: 1: ".//file/path ...": …
187 bash  macos  sed 

7
While döngüsü içinde değiştirilen bir değişken hatırlanmaz
Aşağıdaki programda, değişkeni $fooilk ififadenin içindeki 1 değerine ayarlarsam , if ifadesinden sonra değerinin hatırlanması anlamında çalışır. Ancak, aynı değişkeni ifbir whiledeyimin içindeki bir içindeki 2 değerine ayarladığımda , whiledöngüden sonra unutulur . Döngü $fooiçinde değişkenin bir kopyasını kullanıyorum gibi davranıyorum whileve sadece o kopyayı değiştiriyorum. İşte tam bir test …
187 bash  while-loop  scope  sh 

14
-exec Linux'ta bir kabuk işlevi bulmak?
findKabukta tanımladığım bir işlevi yürütmenin bir yolu var mı ? Örneğin: dosomething () { echo "doing something with $1" } find . -exec dosomething {} \; Bunun sonucu: find: dosomething: No such file or directory Almanın bir yolu var mı find's -execgörmeye dosomething?
185 linux  bash  shell  find  bsd 


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.