«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
Kabuk betiklerinde “BASH-isms” kullanmaktan kaçınma
Kabuk komut dosyalarınızı denetleyecek ve kusurları, taşınabilirlik sorunlarını, standart dışı programların geri dönüşsüz kullanımlarını, amortismana tabi program kullanımlarını, vb. Belirten Perl :: Critic benzeri bir araç var mı ? Bunun set -o posixPOSIX dışı kullanımı devre dışı bırakacağını fark ettim , ancak bu, 1'den başlayan zsh indeksleme kabuk dizileri ve …
37 bash  shell  zsh  ash 

2
`" 'ile eşleşmeye bakarken beklenmeyen EOF - bash betiği
Ben sadece bir bash betiği yazdım ve her zaman bu EOF-Error'u alıyorum. İşte benim senaryom (sadece OS X üzerinde çalışıyor): #!/bin/bash #DEFINITIONS BEGIN en_sq() { echo -e "Enabling smart quotes..." defaults write NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool true status=$(defaults read NSGlobalDomain NSAutomaticQuoteSubstitutionEnabled -bool) if [ "$status" = "1" ] then echo -e …
37 bash  shell 

6
Joker genişlemesinden ilk eşleşmeyi nasıl alabilirim?
Bash ve Zsh gibi mermiler, joker karakteri argümanlara genişletir, örüntüyle eşleşen argümanlar: $ echo *.txt 1.txt 2.txt 3.txt Peki ya sadece ilk karşılaşmanın geri kazanılmasını istersem, tüm maçları değil mi? $ echo *.txt 1.txt Kabuğa özgü çözümlere aldırış etmiyorum, ancak dosya adlarında boşlukla çalışan bir çözüm istiyorum.
37 shell  wildcards 


2
Ls - sıfır veya -0 seçeneğinin olmaması için bir neden var mı?
Bu soru, ls' -1seçeneği ve insanların soru sorma eğilimi ve çıktılarının işlenmesini de içeren cevapları ile ilgili sorular tarafından yönlendirildi ls. Çıktının bu yeniden kullanımı lsanlaşılabilir görünmektedir, örneğin: bir dosya listesini nasıl sıralayacağınızı biliyorsanız ls, çıktıyı başka bir şey için girdi olarak kullanmak isteyebilirsiniz. Bu Soru ve Cevaplar, güzel davranan …
37 shell  command-line  ls 

5
Birden çok dosyayı find kullanarak nasıl yeniden adlandırılır
Komut findkomutunu kullanarak birden fazla dosyayı (file1 ... filen, file1_renamed ... filen_renamed) yeniden adlandırmak istiyorum : find . -type f -name 'file*' -exec mv filename='{}' $(basename $filename)_renamed ';' Ancak bu hatayı alıyorum: mv: cannot stat ‘filename=./file1’: No such file or directory Bu çalışmıyor çünkü dosya adı kabuk değişkeni olarak yorumlanmadı.
37 shell  find 

1
Bash / shell komut dosyasında ⏰ gibi UTF-8 karakterleri kullanmalı mıyız?
Buradaki basit kod, şu durumlarda başlatıldığında makinemde beklendiği gibi çalışıyor bash: function ⏰(){ date } ⏰ Bunu kullanan diğer insanlar için bir sorun olabilir mi, yoksa evrensel mi? Merak ediyorum, çünkü şimdilik başka bir kaynak kodda böyle bir şey görmedim. Düzenleme: Sınırsız olasılıklar vardır, örneğin bir emojinin kullanımıyla fonksiyon rolünü …
36 bash  shell  unicode 

3
Neden bir dosyayı açmak değişken içeriği okumaktan daha hızlı?
Bir bashkomut dosyasında /proc/dosyalardan çeşitli değerlere ihtiyacım var . Şimdiye kadar, dosyaları doğrudan bu şekilde grepping onlarca satır var: grep -oP '^MemFree: *\K[0-9]+' /proc/meminfo Bunu daha verimli hale getirmek için dosya içeriğini bir değişkende sakladım ve şöyle ifade ettim: a=$(</proc/meminfo) echo "$a" | grep -oP '^MemFree: *\K[0-9]+' Dosyayı birkaç kez …

2
Bash scriptleri için .sh veya .bash uzantısını kullanın.
(Bkz . Ubuntu-OSX uyumluluğu ve kullanım kolaylığı ve POSIX için #! / Bin / sh veya #! / Bin / bash kullanın ) Komut dosyalarımın bash kabuğunu kullanmasını istersem, .bash uzantısını kullanmak aslında bash'ı çağırır veya sistem config / 1st shebang satırına bağlıdır. Her ikisi de etkili ancak farklı olsaydı …
36 bash  shell  shebang 


3
Bir bash betiğinde daha deyimsel olan: `|| true veya || : `?
Çok fazla kabuk betik yapmıyorum, bu yüzden belgelerigit submodule okurken biraz şaşırmıştım ve bu belgede kullandıkları sözdizimini gördüm: Herhangi bir alt modüldeki komuttan sıfır olmayan bir dönüş işlemin bitmesine neden olur. Bu || :komutun sonuna ekleyerek geçersiz kılınabilir . || :Başarıyla çıkmak için bir komutu zorlamak için bir stenoya bakmak …
36 bash  shell 

4
Neden bir kabuk betiğindeki “sudo su”, betiğin geri kalanını root olarak çalıştırmıyor?
Örnek bir komut dosyası aşağıdaki gibi olabilir: #!/bin/bash sudo su ls /root ./test.shNormal kullanıcı olarak kullanıldığında , bunun yerine lssüper kullanıcı olarak çalıştır ve çıkar, o root'a geçer; ve oturumu kapattığımda ls /rootnormal kullanıcı olarak çalışıyor. Biri bana mekanizma hakkında bir şey söyleyebilir mi?
36 shell  shell-script  sudo  root  su 

9
Bir kabuktan “Hollywood-hacker-sahne” çıktısı
Bu garip bir soru gibi görünebilir, ancak tipik hollywood hack sahnesi oluşturmak için ne kullanırsınız? Bu isteği bir arkadaşımdan aldım ve beynim boştu. Aklıma gelen tek şey The Matrix gibi filmlerin tüm nmap sahneleriydi . Fakat bunun, varsayılan OSX’li bir Mac’te yapılması gerekecek. İnternet erişimi yok, bu yüzden dış araçlarla …
36 shell 

4
Belirli bir klasördeki belirli bir uzantıya sahip tüm dosyaları nasıl silebilirim?
Geçerli / çalışan dizini (kullanarak gezinerek cd) belirli bir dizine ayarladıysam ve şunu yazın: rm *.xvg Bu komut ne yapacak? Bu doğru mu yukarıdaki komut olacak sadece uzantılı dosya silme .xvg sadece çalışma dizininde? Bunu sormadan önce denemek konusunda gergindim, çünkü yukarıdaki komutun sadece ÇALIŞMA YÖNETMENİNDE YERLİ.xvg dosyaları sileceğinden kesinlikle …
36 bash  shell  directory  rm 

7
Bağlantı kesildikten sonra bir kabuk nasıl kurtarılır
Uzak bir CentOS 5.6 makinesinde bazı çalışmalar yapıyorum ve ağım düşmeye devam ediyor. Yeniden bağlandıktan sonra askı oturumlarımı kurtarabilmemin bir yolu var mı? EDIT: Bazı güncelleme ve yükleme işlemlerini yum ile yapıyorum ve işlemler ne yapıyorlarsa devam etmeyi sürdürürse sorun olabilir.

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.