«bash» etiketlenmiş sorular

Diğer Bourne / POSIX mermilerinin aksine, GNU'dan Bourne Again SHell'e özgü sorular. Genel olarak Unix kabukları hakkında sorular için / shell etiketini kullanın.

3
Komut satırı bağımsız değişkeni olarak nasıl sayı eklersiniz?
Komut satırından 1 sayı ve varsayılan gibi bir sayı eklemeye çalışıyorum. Örneğin: Kullanıcı 50 sayısını yazdığında, komut dosyası 10 ekleyecektir (varsayılan sayı olarak). ./script 50 The sum of 50+ 10 is 60. Şimdiye kadar sahip olduğum şey bu. echo -n "Please enter a number: " read number default = 10 …
10 bash 


3
Bash'de, takma isme nasıl ekstra argümanlar dahil edilmez?
Gibi bir şey yapmaya çalışıyorum alias ftp='echo do not use ftp. Use sftp instead.' sadece bu ftpyanlışlıkla kullanılmayacak. Ama fark ettim ki ftp abcd.com komutun yankılanmasına neden olacak do not use ftp. Use sftp instead. abcd.com çünkü abcd.combunun bir argüman olduğu düşünülüyor echo. Bash'in abcd.comoyuncu değişikliğine echokatılmamasını veya ekstra argümanlar …
10 bash  alias  ftp  echo 

2
Ayarlanmamışsa önde gelen iki nokta üst üste işareti oluşturmadan PATH benzeri değişkene ekle
Bir dizin eklemem gerekiyor PKG_CONFIG_PATH. Normalde, standardı kullanırdım export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:$(pyenv prefix)/lib/pkgconfig ancak PKG_CONFIG_PATHdaha önce sistemime yüklenmemiş. Bu nedenle, değişken :önce geçerli dizine bakmasını söyleyen bir karakterle başlar . Bunu istemiyorum. Aşağıdakilere karar verdim, export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}$(pyenv prefix)/lib/pkgconfig ama bu çok çirkin gözüküyor. Daha iyi bir yol var mı? Yalnızca değişken zaten …

4
\\ ve using \ kullanarak normal ifade
Neden yapar grep e\\.g\\. <<< "this is an e.g. wow" ve grep e\.g\. <<< "this is an e.g. wow" aynı şeyi yap? Üçüncü bir eğik çizgi eklersem, aynı sonucu verir. AMA, dördüncü eğik çizgi eklediğimde artık çalışmıyor. Bu, bir sınıf için eski bir sınavdan gelen bir soru ile ilgilidir. İki …

3
Bir betiği bash'a "okuma" ile pipetleme
Ben (doğrudan bash ile çalıştırmak yerine) bashile üzerinden boru ile bir komut dosyası wgetçalıştırmak gerekir. $ wget -O - http://example.com/my-script.sh | bash Çalışmıyor çünkü komut dosyamda readifadeler var. Bazı nedenlerden dolayı bash borulama yaparken bunlar çalışmaz: # Piping to bash works in general $ echo 'hi' hi $ echo "echo …
10 bash  shell  pipe  read 

1
history - Yalnızca başarıyla çalıştırılan komutları listele
Geçmiş komutunu kullanmanın bir yolu olup olmadığını merak ediyorum ama sadece başarıyla çalıştırılan komutları listele. Benzer şekilde, hata üretenleri listelemenin bir yolu var mı? Her komutun çıkış durumu olduğunu biliyorum: 0- Komutun başarıyla yürütülmesi 1- Genişletme veya yönlendirme sırasında bir hata nedeniyle komut başarısız olur, çıkış durumu sıfırdan büyüktür. 2- …

4
'&&' öncesi '&&' komutundan önce bir komuta başvurabilir miyim
Soruyu başka nasıl ifade edeceğinden emin değilim, ancak temel olarak, kendimi genellikle vagrantVM'yi getirmek gibi bir komut çalıştırırken buluyorum ve daha sonra aşağıdaki gibi ssh: vagrant up && vagrant ssh Kendi fonksiyonumu veya senaryomu yazmaktan yoksun vagrant, komutun ikinci bölümündeki kısmı yeniden kullanmanın bir yolu var mı?
10 bash  zsh 

4
Neden kuyruk -f / proc / $ pid / fd / 1` yapamıyorum?
Ben echoonun PID -es basit bir komut dosyası yazdı : #/bin/bash while true; do echo $$; sleep 0.5; done Bahsedilen komut dosyasını 3844bir terminalde çalıştırıyorum ve tekrar tekrar söylüyorum ve tailbaşka bir dosya tanımlayıcısına çalışıyorum : $ tail -f /proc/3844/fd/1 Ekrana hiçbir şey yazdırmaz ve sonrasına kadar askıda kalır ^c. …

2
Kaynak neden “ikili dosya yürütülemiyor” hatası veriyor
Bir tmuxoturumu başlatır ve sonra bazı pencereler oluşturur küçük bir dosya var . Ben (metin dosyasını yeniden adlandırıldı kadar bazı hata ayıklama ve verdiği şeyler cezası çalıştıktan sonra tmuxgelen komutlara) spamiçin xset: $ source xset bash: source: /usr/bin/xset: cannot execute binary file Şimdi dosyayı yeniden adlandırdım ve source spamtekrar çalışıyor, …
10 bash  shell 

6
Komutu ssh ve çalıştırmak için komut dosyası çalışmıyor
Komut dosyası aşağıdadır. Birkaç sunucuda oturum açmak ve çekirdek sürümünü kontrol etmek istedim. #!/bin/bash #input server names line by line in server.txt cat server.txt | while read line do sshpass -p password ssh root@$line << EOF hostname uname -r EOF done Gibi çıktı çıktı beklenir .. server1_hostname kernel_version server2_hostname kernel_version …
10 bash  shell-script  ssh 

4
'1 [$ 1 = “1”]' dalı neden $ 1 1 olmasa bile her zaman seçilir?
Bunun gibi 'teleport.sh' adlı bir kabuk komut dosyası var: if [ $1="1" ]; then shift mv "$@" ~/lab/Sun elif [ $1="2" ]; then shift mv "$@" ~/lab/Moon elif [ $1="3" ]; then shift mv "$@" ~/lab/Earth fi Çalıştırdığımda: sh teleport.sh 2 testfile Bu testfile, ~/lab/Sundizeye 1 veya '1' iletmediğim için …
10 bash  shell  test 

5
Bir bash betiği için takma ad oluşturma
Bu yüzden denedim ve bir aliasin yarattım .bashrc. Ancak, komutu test ettiğimde: [rkahil@netmon3 ~]$ menu -bash: menu: command not found İşte .bashrcdosyada ne var : # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions alias menu='./menuScript.sh' alias vi='vim' Komik olan …
10 bash  alias 

1
Seçenek olmayan bir bağımsız değişkenten sonra seçenekleri ayrıştırmak için getopts kullanma
Ben bir dosyada aşağıdaki nepleaks_upd.shgibi çalıştırmak istediğiniz bir bash betiği var ./nepleaks_upd.sh bootstrap --branch off. Almak için yapamadı --branch, ama onunla çalışır ./nepleaks_upd.sh bootstrap -b off. usage() { echo "Usage: $0 [prepare | up | down] [-b <on/off>]" 1>&2; exit 1; } case "$1" in bootstrap) while getopts ":b:" o; …


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.