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

3
Çıkış kodunu daha sonra kullanmak üzere kaydet
Bazı testler yapmak için küçük bir senaryom var. javac *.java && java -ea Test rm -f *.class Şimdi bu sorun, betiği çalıştırdığınızda ./test, test başarısız olsa bile bir başarı çıkış kodu döndürecek olmasıdır rm -f *.class. İstediğim şeyi yapmayı düşünebilmemin tek yolu bana çirkin geliyor: javac *.java && java -ea …

3
Xargs ile argüman alıntılama
Bir klasördeki 1 MB'den büyük tüm dosyaları silmek istediğimi varsayalım. $ find . -size +1M | xargs -0 rm Bu, adlarında boşluk olan dosyaları silmez. Bu yüzden gönderdiği tüm argümanları alıntılamasını istiyorum rm. Eğer findverir Some report.docxo geçmelidir "Some report.docx"için rm. Bunu nasıl yapabilirim?
15 shell  find  quoting  rm  xargs 

3
Önceden yönlendirilmiş bir ssh anahtarını tmux'a nasıl iletebilirim?
SSH ile anahtarlarımın saklandığı bir makineden bağlanıyorum, ikinci bir makineye yönlendiriyorum ve daha sonra tmux içindeki anahtarları kullanmaya çalışıyorum. Ben tmux girerken yönlendirme "gevşek" gibi görünüyor. Anahtarlarımı tmux içinden kullanabilmem için nasıl "tekrar ilet" yapabilirim? $ ssh [server] -o ForwardAgent=yes $ git pull # Succeeds. $ /bin/bash $ git pull …
15 shell  ssh  tmux 

4
Bash'da iki eşzamanlı komutla Ctrl-C
Bir Linux makinesinde bash'da iki komutu aynı anda çalıştırmak istiyorum. Bu ./execute.shyüzden bash senaryomda şunu koydum: command 1 & command 2 echo "done" Ancak bash betiğini durdurmak ve Ctrl+ düğmesine basmak istediğimde C, yalnızca ikinci komut durdurulur. İlk komut çalışmaya devam eder. Tüm bash betiğinin durdurulduğundan nasıl emin olabilirim? Veya …

2
GLOBIGNORE nasıl çalışır?
Bash'ın manuel sayfasına göre: GLOBIGNORE A colon-separated list of patterns defining the set of filenames to be ignored by pathname expansion. If a filename matched by a pathname expansion pattern also matches one of the patterns in GLOBIGNORE, it is removed from the list of matches. Ancak uygulamada ... $ …

3
Kabuk Betiği - `` else '' beklenmeyen belirtecinin yanında sözdizimi hatası
Aşağıdaki kabuk betiğiyle neden hata alıyorum syntax error near unexpected token `else' Kabuk Betiği echo "please enter username" read user_name echo "please enter password" read -s pass echo ${ORACLE_SID} SID=${ORACLE_SID} if ["${ORACLE_SID}" != 'Test'] then sqlplus -s -l $USER_NAME/$PASS@$SID <<EOF copy from scott/tiger@orcl insert EMP using select * from EMP …

3
Bir bash borusunda ham ikili verileri nasıl işleyebilirim?
Bir parametre olarak bir dosya alır bir bash işlevi var, dosyanın var olduğunu doğrular, sonra stdin çıkan dosyaya bir şey yazar. Saf çözüm metin için iyi çalışıyor, ancak keyfi ikili verilerle ilgili sorunlar yaşıyorum. echo -n '' >| "$file" #Truncate the file while read lines do # Is there a …
15 bash  shell  binary 

5
Bir dizeyi bash olarak dizine ekle
Bir dizeye sh / bash dizinine göre nasıl başvurabilirim? Yani, temelde bölmek. Bir dosya adının 5 karakterini soymaya çalışıyorum. Tüm adlar şu yapıya sahiptir: name_nr_code. 5 alfasayısal kod bitini kaldırmaya çalışıyorum. name_nr_her zaman 10 karakterdir. Gibi bir şey var mı; for i in * ; do mv "$i" "$i"[:10] ; …
15 bash  shell  string 

2
Grep ve sort komutlarını kullanarak nasıl sıralayabilirim?
Ben dosya bulunan tüm TCP hizmetlerin sıralı bir liste oluşturmak istiyorum /etc/services, boru komutunun çıktısını grep tcp /etc/serviceskomuta içine sort, sonra dosyaya bu borunun çıkışını yönlendirmek ~/pipelab.txt. Çıktımın yanlış olduğuna dair bir hata mesajı alıyorum ve nedenini bilmiyorum. En son denediğim bu: grep tcp /etc/services > ~/pipelab.txt | sort
15 shell  pipe 



2
belirli bir desenin dosyalarını başka bir dizine taşıma
Dizinde /home/inböyle dosyaları var: crust.MC12345.txt crust.etcMC12345.txt crust.MC23456.txt crust.etcMC23456.txt crust.etctcMC23456.txt Sadece taşımak crust.etcMC12345.txtve crust.etcMC23456.txtbaşka bir dir, /home/out.wv yukarıdaki senaryo için mv komutunda kullandığım desen nedir?
15 shell  wildcards  mv 


3
Ping -w ve ping -W arasındaki fark nedir?
Nedir -wiçinde (son tarih) bayrağı pingiçin? pingMan sayfasında bir açıklama bulamıyorum ; sadece -Wparametre olarak saniye alır. Aralarındaki fark nedir ve 200 ms'ye ping zaman aşımı (ana bilgisayar yanıt vermiyorsa) nasıl ayarlayabilirim?
15 shell  ping  timeout 


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.