«shell» etiketlenmiş sorular

Kabuk Unix'in komut satırı arabirimidir. Kabuktaki komutları etkileşimli olarak yazabilir veya görevleri otomatikleştirmek için komut dosyaları yazabilirsiniz. / Bin / sh ve en uyumlu kabuklara (kül, bash, ksh, zsh,…) uygulanan sorular için bu etiketi kullanın. Hatalı kabuk komut dosyaları için lütfen buraya göndermeden önce http://shellcheck.net adresinden kontrol edin.


2
Bash “for” döngü “foo bar…” kısmı olmadan
Geçenlerde beni şaşırtan bazı kodlara baktım çünkü işe yarıyor ve beklemiyordum. Kod bu örneğe indirgeniyor #!/bin/bash for var; do echo "$var" done Komut satırı argümanları ile çalıştırıldığında bunları yazdırır $ ./test a b c a b c Bu, bu (benim için) beklenmeyen bir şey. varTanımsız olduğu için neden bu bir …


2
Proses ikamesi elde etmenin portatif (POSIX) yolu nedir?
Bazı kabuklar, işlem çıktısını bir dosya gibi sunmanın bir yolu olan İşlem Değiştirme'yibash destekler : $ diff <(sort file1) <(sort file2) Bununla birlikte, bu yapı POSIX değildir ve bu nedenle taşınabilir değildir. Proses ikamesi POSIX dostu bir şekilde nasıl yapılır (yani hangisinde çalışır /bin/sh) ? not: soru iki sıralı dosyanın …

3
CTRL + C olduğunda ^ C'yi kaldır
Red Hat Enterprise Linux 6 ("Santiago") içeren kabukta + ^Ctuşuna bastığınızda kaldırmanın bir yolu var mı ? Kendiminkini düzenleme iznim var .CTRLC.bash_profile
25 shell 

2
Komut İstemi Bir Metin Düzenleyicide Açmak - Buna Ne Çağrılır?
Bash'deki en sevdiğim numaralardan biri komut istemimi bir metin editöründe açtığım zaman. Bunu (vi modunda) düğmesine basarak yapıyorum ESC v. Bunu yaptığımda, komut istemimde ne varsa, şimdi $ EDITOR tercihimde gösteriliyor. Daha sonra komutu sanki bir belgemiş gibi düzenleyebilirim ve bu geçici dosyadaki her şeyi kaydedip çıktığımda yürütülür. Hiçbir arkadaşımın …

2
İşlevlerde, takma adlarda ve çalıştırılabilir işlemlerde tire ile ilgili sorunlar var mı?
Testlerimde (Bash ve Z Shell'de), adında kısa çizgi bulunan işlevler veya takma adlar veya çalıştırılabilir kabuk komut dosyaları tanımlarken hiçbir sorun görmedim, ancak bunun tüm kabuklarda ve tüm kullanım durumlarında iyi olacağından emin değilim. . Bunu yapmak istememin nedeni, kısa çizginin alt çizgi çizmekten daha kolay ve bu nedenle daha …
25 bash  shell  zsh  ksh  csh 

4
Boşlukları ve joker karakterleri olan yolları olan dizelerde Bash komut dosyası hatası
Bash'in yazılmasının temellerini bulmakta sorun yaşıyorum. İşte şimdiye kadar sahip olduğum şey: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done Tek yapmak istediğim .txtbir fordöngüdeki tüm dosyaları listelemek, böylece onlarla bir şeyler yapabilirim. Fakat içindeki my directoryve yıldızdaki boşluklar *.txtgüzelce oynamıyor. Çift tırnaklı ve tırnaksız, değişken isimler …

3
shellcheck basename kullanmamanızı tavsiye ediyor: neden?
Dışarı çalışıyorum shellcheck . Böyle bir şeyim var basename "${OPENSSL}" ve aşağıdaki öneriyi alıyorum Use parameter expansion instead, such as ${var##*/}. Pratik açıdan hiçbir fark görmüyorum $ export OPENSSL=/opt/local/bin/openssl $ basename ${OPENSSL} openssl $ echo ${OPENSSL##*/} openssl Yana basenameolduğunu POSIX özellikleri , ben değil en iyi uygulama olmalıdır bir neden …

2
Çatal bombadaki çatal () nerede: () {: |: &};:?
Uyarı: Bu komutu çoğu mermide çalıştırmak, düzeltmek için zorla kapatmaya ihtiyaç duyan bozuk bir sisteme neden olur Özyinelemeli işlevi :(){ :|: & };:ve ne yaptığını anlıyorum. Ama çatal sisteminin nerde olduğunu bilmiyorum. Emin değilim ama borudan şüpheleniyorum |.


6
Tarihçe listesinin boyutunu bash olarak 5000'den fazla satıra ayarlamanın bir yolu var mı?
Bu soru edildi göç Unix & Linux Stack Exchange'de yanıtlanabilir çünkü yığın taşması gelen. 8 yıl önce göç etmiş . HISTSIZEOrtam değişkenini ne kadar büyük olursa olsun 5000 değerinden daha büyük olarak ayarlayın, geçmiş listesini historyyerleşik olarak yazdırırken, yalnızca son 5000 komutunu yazdırır. Buna ihtiyacım var çünkü sık sık .bash_history5000 …
25 linux  bash  shell 



6
İzinleri tersten nasıl ters yönde kontrol edebilirim?
Bir komut var, sanırım apache ile geliyor ya da bir şekilde onunla alakalı, izinleri tamamen kontrol eden bir şey. Ben var ise /home/foo/bar/bazo izinler içindir bana ne söyleyecektir baz, bar, foo, ve home. Bu komutun ne olduğunu veya bunu yapmanın başka bir yolunu bilen var mı? Komut temelde argümanda başlar …

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.