«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
/ Etc / shadow neden şu komutla ayarladığım parolayı kısaltıyor: useradd -p?
[root@P-dude dude]# useradd -p $6$Ic2PVlwi$2nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0 bwong20 [root@P-dude dude]# cat /etc/shadow | grep pswayze pswayze:nf.IRWTMy0FHrPzaCjkahfu9IIxnzxPZL7yg8SsvOdbjEpoI0G8uy7AqduYKQOn2R/rnnaalRmfPMy.a0:16924:0:99999:7::: Sistemin ilk on dört karakteri neden şifreli şifremden kaldırdığından emin değilim. Dosyamdaki şifre, /etc/shadowargüman olarak verdiğimden daha kısauseradd -p
21 shell  useradd 

2
Hedef uygulamanın sıfırıncı argümanını ayarlama POSIX yolu var mı?
İçinde bashkullanabilir exec -ave içinde zshalternatif ARGV0olarak, belirli bir sıfırıncı argümanla bir program yürütmek için de ayarlayabilirsiniz , ancak bunu yapmanın bir POSIX yolu var mı? Bu yorumda önerildiği gibi , bunu başarmak için (geçici) sembolik bir bağlantı oluşturabilirsiniz, ancak bu şekilde yeni sıfırıncı argüman değerini herhangi bir keyfi değere, …

2
Makefile'da ortam değişkenlerinin değerini kontrol etme
Bir ortam değişkeninin değerini kontrol etmem gereken bir Makefile hedefim var. Ancak bunun sözdizimini tam olarak anlamadım. Çok çalıştım ama bulamıyorum. Herhangi bir yardım takdir edilmektedir. Ortam değişkeni adı: TEST, değeri: "TRUE" test_target: ifeq ($(TEST),"TRUE") echo "Do something" endif Aşağıdaki hatayı alıyorum: /bin/sh: -c: line 0: syntax error near unexpected …
21 shell  make 

3
Önceki komut STDOUT'a yazarken STDIN'e başka bir komut yazmak güvenli midir?
Belki de bu daha önce cevaplanmış, başka bir cevabın bağlantısını kabul ediyorum ... bashAşağıdaki gibi bir kabuk komutu (bir kabuk içinde) yürütürsem: make Sonra çıkış dan ise makegelen tarafından kaydırma STDOUTait makeben yazarsanız, komuta make checkve basın enterilk komut zaman, yürütme bitmeden makekomut nihayet sonraki komut bitirir make checksağ yukarı …
21 bash  shell  stdout  stdin 

6
Rasgele bir şifre oluşturma; bu neden taşınabilir değil?
Rasgele bir şifre oluşturmak istiyorum ve bunu şöyle yapıyorum: </dev/urandom tr -dc [:print:] | head -c 64 Ubuntu'yu çalıştıran dizüstü bilgisayarımda bu, yalnızca istendiği gibi yazdırılabilir karakterler üretiyor. Fakat Red Hat Enterprise Linux çalıştıran okulumun sunucusuna ssh atıp orada çalıştırdığımda 3!ri�b�GrӴ��1�H�<�oM����&�nMC[�Pb�|L%MP�����9��fL2q���IFmsd|l�K, hiç yapmayacak gibi çıktılar alıyorum . Burada yanlış giden …

6
`>>` dışında bir dosyanın sonuna satır eklemek için başka basit bir yol var mı?
Geçenlerde bir tree_holedosyaya kısa cümleler ekliyorum . echo 'something' >> tree_holeBu işi yapmak için kullanıyordum . Ama her zaman ne olursa yanlış girişin endişelendim >yerine >>sık sık bunu beri. Bu yüzden bashrc'de kendime ait bir küresel bash işlevi yaptım: function th { echo "$1" >> /Users/zen1/zen/pythonstudy/tree_hole; } export -f th …

5
bash betiği [x $ 1 = x]
Bash betiği okuyorum orada ne olduğunu anlamıyorum. #!/bin/sh [ x$1 = x ] İkinci satırda neler oluyor ve ne [ x$1 = x ] anlama geliyor?
21 bash  shell 


6
İki yol arasındaki bağıl bağlantıların alınması
İki yolum olduğunu söyle: <source_path>ve <target_path>. Ben temsil edecek bir yol olup olmadığını otomatik olarak öğrenmek için benim kabuk (zsh) istiyorum <target_path>den <source_path>göreceli yol olarak. Örneğin, farz edelim <source_path> olduğu /foo/bar/something <target_path> olduğu /foo/hello/world Sonuç olacaktır ../../hello/world Neden buna ihtiyacım var: Ben sembolik bir bağlantı oluşturmak ister gerek <source_path>için <target_path>bir …
21 shell  files  zsh  symlink 

4
sınırlayıcıda uzun çizgi bölme
Bu şekilde girişi bölmek için hangi komutu kullanabilirim: foo:bar:baz:quux bunun içine? foo bar baz quux cutKomutu anlamaya çalışıyorum, ancak "ilk 1000 karakter" veya "ilk 7 alan" gibi yalnızca belirli miktarda girişle çalışıyor gibi görünüyor. İsteğe bağlı olarak uzun girdilerle çalışmam gerekiyor.

1
Neden 'bul' bu dosyayı göstermiyor?
Kullanımı findile grep, tek bir desenle eşleşen dosyaları bulabilirsiniz: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Ancak, findtek başına kullanarak ilk dosya bulunamadı: # find . -name error* ./error_log ./includes/classes/error_log Neden kullanılmadığında dosyayı neden findbulamıyor ? Bu dosyayı da göstermek için nasıl kullanılır?errors.htmlgrepfind

1
Küçük dizinde uzun zaman alıyor
Ubuntu çalıştıran bir terminal açıp sudo bash cd / ls | head -n 1000 Ve tahminen yaklaşık 20 dizin geri gönderilir. Ancak, eğer bir ls yaparsam ve hiçbir şeye sokmazsam, başka bir terminalden onu öldürene kadar ls orada kalır. Neler olabilir? DÜZENLE: > type ls ls is aliased to `ls …
21 shell  command-line  files  ls 

4
Borular nasıl anlaşılır
Sadece bashta pipo kullandığımda, bunun hakkında daha fazla düşünmedim. Ancak system call pipe () işlevini fork () ile birlikte kullanarak bir C kodu örneği okuduğumda, hem anonim borular hem de adlandırılmış borular dahil olmak üzere boruları nasıl anlayacağımı merak ediyorum. Sık sık "Linux / Unix'deki her şey bir dosyadır" diye …


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.