«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
Basudo'da “true” nun amacı nedir? Sudo true ise; sonra"
Kullanıcı süper kullanıcı ayrıcalıklarına sahip olup olmadığını sınamayan bu bash betiğini birlikte hackledim ve istemiyorlar. Sonuçta ben aşağıdaki iki satır (echo "password ok" ve sonraki satırda başka) kaldırmak böylece ikinci 'if' deyimi ters çevirmeye çalışıyorum # Root user only if [[ "$EUID" != 0 ]]; then sudo -k # make …
20 bash  sudo 

5
Bash'te tek bir ünlem işareti yazmak ne işe yarar?
Bash, bu sorunun yanıtlarında açıklandığı gibi geçmiş genişletmeler için ünlem işaretleri kullanır (örn. sudo !!İle önceki komut satırını çalıştırır sudo). Ancak, aşağıdaki komutu (yani tek bir ünlem işareti) çalıştıran ne açıklar hiçbir yerde bulamıyorum: ! Hiçbir şey yazdırmıyor ve 1 ile çıkıyor gibi görünüyor, ancak bunu neden yaptığından emin değilim. …


1
Grep, maç bulduktan sonra çıkmak için yavaş mı?
Aygıt bağlantıları için btmon sorgulayan bir bash betiği yazmaya çalışıyorum. Çalışan bir çözümüm var, ama saçma derecede yavaş ve sorun bir maç bulduktan sonra çıkmak için çok yavaş olması gibi görünüyor (yaklaşık 25 saniye). Hızlandırmak grepveya tamamen kullanmaktan kaçınmak için ne yapabilirim ? #!/bin/bash COUNTER=0 while : do until btmon …
20 bash  grep 

2
"Komut 1> dosya.txt 2> dosya.txt`'nin davranışı neden" komut 1> dosya.txt 2> & 1 "den farklıdır?
Stdout ve stderr öğelerini aynı dosyaya yeniden yönlendirmek istediğinizde command 1>file.txt 2>&1, veya tuşunu kullanarak bunu yapabilirsiniz command &>file.txt. Ama neden command 1>file.txt 2>file.txtyukarıdaki iki komuttan farklı davranışı var ? Aşağıdaki bir doğrulama komutudur. $ cat redirect.sh #!/bin/bash { echo -e "output\noutput" && echo -e "error" 1>&2; } 1>file.txt 2>&1 …

3
Bir takma ad veya işlev aracılığıyla kabukta gerçekte hangi komutun çalıştırıldığını nasıl görebilirim
Örneğin bir bash işlevi (veya diğer adı) var function install() {sudo apt-get install $@}. Komutu install dicelabçalıştırırken, aslında çalışmasını beklediğim şey sudo apt-get install dicelab. Kabuk tarafından neyin yürütüldüğünü nereden görebilirim? Daha karmaşık takma adlarımın beklendiği gibi çalıştığından emin olmak istiyorum.
20 bash  shell  debugging 

4
"Eval echo" kullanmak her zaman güvenli midir?
Kullanılması evalkeyfi kod çalıştırılmasına izin verdiğinden genellikle önerilmez. Ancak, kullanırsak eval echo, dizenin geri kalanı argüman haline gelecektir, echobu yüzden güvenli olmalıdır. Bu konuda doğru muyum?
20 bash  echo 

2
yüksek oy kullanan tek satırda iç içe çift tırnak
> 3.5K oy içeren bir StackOverflow yanıtıDIR , geçerli bash betiğinin dizinine atamak için bu tek astarı içerir: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Yuvalanmış çift tırnak işaretinden şaşkınım. Anlayabildiğim kadarıyla, aşağıdaki parçalar çift tırnaklı: "$( cd " "${BASH_SOURCE[0]}" " && pwd )" ... ve =(yani $( …

4
bazen geçmiş komutları .bash_history içinde saklanmaz
Dün CentOS 7 cihazımda birçok komut yayınladım. Ama bugün bu komutları almak istediğimde, hiçbir kayıt bulunamadı. Dosyayı .bash_historyaçtığımda, dün yayınladığım komutları hala bulamadım, ancak birkaç gün önce birçok eski komut buldum. Son komutlar neden kaydedilmedi? Tarih yeteneğini nasıl artırabilirim?


5
Neden argümanların ortasında bir EOF var?
Biraz bash söyleyebileceğim küçük bir bash işlevi yazmak istedim, import osya da from sys import stdoutithal edilen modülle yeni bir Python yorumlayıcısı oluşturacak. İkinci fromişlev şöyle görünür: from () { echo "from $@" | xxd python3 -i -c "from $@" } Bunu ararsam: $ from sys import stdout 00000000: 6672 …
20 bash  python 

3
`<& -` ne yapar?
Bash snippet'ini uzaktan yürütülen bir ssh komutunun arka planına kopyaladım: ssh user@remote &lt;&lt;CMD some process &lt;&amp;- &gt;log 2&gt;error &amp; CMD Ne yapar &lt;&amp;-? Benim tahminim bunun aynı olduğu&lt; /dev/null Bir sonraki anlayış üç ana dosya tanımlayıcıları (yani stdin, stdout, stderr) engellemek için kapalı olması gerekir: İş arka plan ve komut …

2
Bash'ta beklenmeyen karakterle eşleşen köşeli ayraç ifadesi (aralıksız)
Linux'ta bash kullanıyorum. Aşağıdaki if ifadesinden bir başarı elde ediyorum, ancak bu bir başarısız kodu döndürmemelisiniz? if [[ ■ = [⅕⅖⅗] ]] ; then echo yes ; fi Kare, karakterlerin hiçbirine eşit DEĞİLDİR, bu yüzden neden bir başarı kodu aldığımı anlamıyorum. Benim durumumda çift parantez tutmak benim için önemli. Bu …
20 bash  locale  test 

2
Bir girişi yeniden kullandığımda ve değiştirdiğimde bash'ın geçmişini düzenlemeyi nasıl durdurabilirim?
Bazı bash örnekleri, önceki bir komutu yeniden kullandığınızda ve düzenlediğinizde komut geçmişini değiştirir, diğerleri görünüşte değişmez. Arama yapıyordum ve aradım ancak geçmişteki komutların yeniden kullanıldıklarında ve düzenlendiklerinde değiştirilmelerinin nasıl önleneceğini söyleyen hiçbir şey bulamıyorum. Orada gibi sorular bu bir , ama bu tarih düzenlenmekte olan ile başa çıkmak için nasıl …


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.