«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.

11
Boş dizi genişletmesini `set -u` ile Bash
İçerdiği bir bash betiği yazıyorum set -uve boş dizi genişletmesiyle ilgili bir sorunum var: bash, genişletme sırasında boş bir diziyi ayarlanmamış bir değişken olarak ele alıyor görünüyor: $ set -u $ arr=() $ echo "foo: '${arr[@]}'" bash: arr[@]: unbound variable ( declare -a arrda yardımcı olmuyor.) Bunun yaygın bir çözümü, …
108 bash 



13
Printf'de karakterleri doldurma
Bir işlemin çalışıp çalışmadığını görüntülemek için bir bash kabuğu komut dosyası yazıyorum. Şimdiye kadar bunu anladım: printf "%-50s %s\n" $PROC_NAME [UP] Kod bana şu çıktıyı veriyor: JBoss [DOWN] GlassFish [UP] verylongprocessname [UP] Daha okunaklı hale getirmek için iki alan arasındaki boşluğu bir '-' veya '*' ile doldurmak istiyorum. Alanların hizalamasını …
107 bash  shell  printf 

20
Git Bash, PATH'ımı görmüyor
Git Bash'i (Windows'ta) kullandığımda, PATH değişkenimdeki bir klasörde yer almasına rağmen, tam yolunu belirtmeden herhangi bir yürütülebilir dosyayı çalıştıramıyorum. Görünüşe göre bash bunu tanımıyor. Neden? Düzeltebilir miyim?
107 windows  bash  git-bash 

9
İçinde başka bir dizin oluşturmak yerine 'cp' dizinin üzerine yazmaya nasıl zorlanır?
Mevcut bir dizinin üzerine yazacak bir Bash betiği yazmaya çalışıyorum. Bir rehberim var foo/ve üzerine yazmaya çalışıyorum bar/. Ama bunu yaptığımda: cp -Rf foo/ bar/ yeni bir bar/foo/dizin oluşturulur. Ben bunu istemiyorum İçinde iki dosya var foo/; ave b. İçinde aynı ada sahip dosyalar bar/da var. İstediğim foo/ave foo/byerine bar/ave …
107 linux  bash  shell  command-line  cp 

9
Bash komut dosyasında virtualenv etkinleştirmesi nasıl kaynaklanır
Python virtualenv'i etkinleştirmek için nasıl Bash betiği oluşturursunuz? Şöyle bir dizin yapım var: .env bin activate ...other virtualenv files... src shell.sh ...my code... Sanal ortamımı şu şekilde etkinleştirebilirim: user@localhost:src$ . ../.env/bin/activate (.env)user@localhost:src$ Ancak aynısını bir Bash betiğinden yapmak hiçbir şey yapmaz: user@localhost:src$ cat shell.sh #!/bin/bash . ../.env/bin/activate user@localhost:src$ ./shell.sh user@localhost:src$ …
107 python  bash  virtualenv 



8
Linux bash'da tilde'nin anlamı (ana dizin değil)
Öncelikle ~/, bunun ana dizin olduğunu biliyorum . CD oluşturma ~veya ~/beni ana dizine götürüyor. Ancak, cd ~Xbeni özel bir yere götürüyor, Xher şey gibi görünüyor. Bash'de, " cd ~" ve sekmeye basarsam, ve ve ~Xgibi bir dizi olası seçenek gösterir . Bu klasörlere gidip bir yapmak bana bu klasörlerin …

10
Sed neden sekme olarak \ t tanımıyor?
sed "s/\(.*\)/\t\1/" $filename > $sedTmpFile && mv $sedTmpFile $filename Bu sedbetiğin tabher satırın önüne bir eklemesini bekliyorum , $filenameancak öyle değil. Bazı nedenlerden dolayı onun tyerine a ekliyor.
106 regex  bash  sed 

17
Her dizindeki dosya sayısı nasıl hesaplanır?
Tüm dizinleri şu şekilde listeleyebiliyorum: find ./ -type d Aşağıdaki komutu kullanarak her dizinin içeriğini listelemeye ve her dizindeki dosya sayısını saymaya çalıştım find ./ -type d | xargs ls -l | wc -l Ancak bu, tarafından döndürülen toplam satır sayısını özetledi. find ./ -type d | xargs ls -l …
106 linux  bash  ubuntu 

8
Bash'de bir fonksiyon içindeki global bir değişken nasıl değiştirilir?
Bununla çalışıyorum: GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu) Aşağıdaki gibi bir senaryom var: #!/bin/bash e=2 function test1() { e=4 echo "hello" } test1 echo "$e" Hangi döndürür: hello 4 Ancak fonksiyonun sonucunu bir değişkene atarsam, global değişken edeğiştirilmez: #!/bin/bash e=2 function test1() { e=4 echo "hello" } ret=$(test1) echo "$ret" echo …


13
Bash betiğini kullanarak tüm git dalları arasında nasıl yineleme yapılır
Bash komut dosyasını kullanarak depomdaki tüm yerel şubeleri nasıl yineleyebilirim. Yinelemem ve kontrol etmem gerekiyor, şube ile bazı uzak şubeler arasında herhangi bir fark var mı? Eski for branch in $(git branch); do git log --oneline $branch ^remotes/origin/master; done Yukarıda verilen gibi bir şey yapmam gerekiyor, ancak karşılaştığım sorun $ …
105 git  bash  git-bash 

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.