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

1
Eko komutu ile satır başı
\rAşağıdaki gibi seçenek (satır başı) ile yankı komutu uyguluyordum . echo -e "This is \r my college" çıktı: my college ama daha önce \raşağıdaki gibi bir kelime daha eklediğimde echo -e "This is the \r my college" Sonra bana şöyle çıktı verir: my college the Başka bir örnek echo -e …
9 shell  echo  newlines 


2
SSH'yi özel anahtar parolamı kabukta sormaya zorla (pencerede değil)
Önyüklemeden sonra SSH'yi ilk kez kullandığımda, özel anahtar kilidini açma parolamı (beklediğim davranış) istiyor. Ancak bunu bir pencerede yapar, kabukta değil ( gksudoVS'ye benzer sudo). Bu sinir bozucu (pencereyi tıklamak için faremi kullanmalıyım) ve ikincisi bazen bir hataya neden oluyor (bazen tam ekranda Guake terminalini kullanıyorum, bu durumda SSH penceresine …

3
Bu form değişkeni nedir = $ (…)
Aşağıdakiler ne anlama geliyor: basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") Ben bu bölümle ilgileniyorum: varible=$(...) Parantezin bir alt süreci yürütmek için kullanıldığını biliyorum, ama ya birlikte kullanılırlarsa $?
9 shell 



4
Yeniden yönlendirme başarısız olursa Bash programı yürütülmedi
Bash'da, yeniden yönlendirme kullanan bir komut başarısız olursa, bundan önce çalışan programların çalışmadığını fark ettim. Örneğin, bu program "a" dosyasını açar ve "a" dosyasına 50 bayt yazar. Ancak, bu komutu yetersiz izinlere (~ root / log) sahip bir dosyaya yeniden yönlendirmeyle çalıştırmak, "a" dosya boyutunda herhangi bir değişiklik sağlamaz. $ …

1
`\ Time`,` t \ ime` ve `\ cd` aslında ne yapar? (kabuklarda ters eğik çizgilerle eğlence)
/usr/bin/timeKabuk (bash ve zsh) yerleşik arasındaki farklar tartışılırken time, biri \timealmak için kısayol olarak kullanabileceğini belirtti /usr/bin/time. İlk önce hoş bir masum kısayol gibi görünüyordu, ama sonra bazı sorular geldi: Neden t\imeçalışıyor? ¹ \cddeğişmese de dizini neden değiştiriyor /usr/bin/cd? Açıkçası, \fooeşdeğer değildir $(which foo). Soru şu: \fooHem bash hem de …

5
Dosyadaki satırları ikiye nasıl gruplayabilirim?
Ben böyle bir metin dosyası var: a b c d e f g Nasıl böyle bir çıktı elde etmek için bu satırları gruplandırabilirim: a-b b-c c-d d-e e-f f-g Bunu kabukta yapmalıyım (sh, csh, bash). Bunu buldum: cat file | xargs -n2 ancak birinci grubun son unsuru ikincinin ilk unsuru …

2
Yeni takma ad şu tarihten sonra kullanılamaz;
Şimdiye kadar kabuktaki bir noktalı virgülün (bir şekilde) bir satır sonu ile aynı anlama sahip olduğunu düşündüm. Bu yüzden şaşırdım alias <name>=<replacement text>; <name> <name>bir sonraki satırda bilinirken bilinmemektedir. csh, tcsh, sh, kshVe bashaynı davranırlar. En azından cshtakma adın doğrudan kullanılması veya noktalı virgülden önce bir komut dosyasının kaynaklanıp kaynaklanmadığı …
9 shell  alias 

3
Bas değişkenlerinde yeni satır
Bir bash değişkeninde birden çok satır depolamaya çalışıyorum, ancak işe yaramıyor gibi görünüyor. Örneğin, /binher satırda bir dosya listeler ve depolarsam $LS, $LSstdin olarak iletirseniz wc, her zaman 1 döndürür: $ ls -1 /bin | wc -l 134 $ LS=$(ls -1 /bin); wc -l <<< $LS 1 Ekrana çıktı almaya …
9 bash  shell  quoting 

3
Kaçış dizileriyle kontrol karakterleri nasıl yazdırılır?
Tput kullanarak kırmızı rengi tanımladım red=$(tput setaf 1) programımdaki uyarıları renklendirmek için. Bu iyi çalışıyor: printf '%sfail\n' "$red" # prints 'fail' in red Ama bir keresinde kaçış dizisini olduğu gibi yazdırmak istiyorum: \ E [31mfail Bunu nasıl yaparım? Printf'in bir %qbayrağı olduğunu biliyorum ama istemediğim şeylerden kaçıyor.

4
CLI kullanarak dosyaları tarihe göre farklı bir dizine taşıma
Düzenlemeye çalıştığım eski bir sabit diskten çok sayıda fotoğrafım var. Çalıştırırsam ls -l, tüm bu dosyaların 2012 veya daha önce oluşturulduğu tarihi fark ettim. İdeal olarak, bunları bilgisayarımın otomatik olarak takılmayacak şekilde ayarlanmış ikinci sabit sürücüsüne taşımak istiyorum. Tercihen, bunları birbirine bağlı bazı komutlarla toplu olarak yapabilirim. Şimdiye kadar, ls …

1
Neden bir alt kabuğu alıntılayıp sonuçları yankıya aktarmanın sonunda yeni bir satır yok?
Ne zaman ls | grep pnggrep çıktı yapmak : 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (Dosya adı, satır, dosya, satır) sonra echo $(ls | grep png)çıktılar: 2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png (dosya adı, kelime bölme alanı, dosya adı, satırsonu !! yankıdan !!) Her şey yolunda, ama ben kelime bölme: önlemek için bunu yaptığınızda echo "$(ls | grep …


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.