«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
Yeni kabuk çalıştırdığımda $ SHELL neden değişmiyor?
$ echo $SHELL /bin/bash $ /bin/ksh93 $ echo $SHELL /bin/bash $ file /bin/ksh93 /bin/ksh93: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped $ getent passwd test111 test111:x:1008:1008:,,,:/tmp:/bin/ksh93 $ ssh test@localhost test@localhost's password: $ echo $SHELL /bin/ksh93 $ bash $ echo $SHELL …

8
Yalnızca dizinlerin içeriği nasıl kaldırılır?
Ben bir klasörde değilim: /var/myfolder. İçinde bazı klasörler var: /var/myfolder/A/ /var/myfolder/B/ `/var/myfolder/C/vb. Her birinin içinde rastgele isimleri olan bazı dosyalar var. İçindeki tüm klasörlerden tüm dosyaları nasıl silebilirim /var/myfolder? Yapı (içerideki tüm dizinler, örn., A, B, C vb. /var/myfolder) Bozulmadan kalmalıdır.
14 shell  files 

3
Ascii karakterine ondalık bastırma, komutum istendiği gibi çıkmıyor
Aşağıdaki komutla tüm ascii karakterlerinin bir dizesini çıkarmak istedim for i in `seq 32 127`; do printf "%c" $i; done Yukarıdaki komutun çıktısı: 33333334444444444555555555566666666667777777777.............. Her sayının ilk (soldan) basamağıdır. Bu siteye baktığımda sorunumun cevabına rastladım CLI'da yazdırılabilir tüm ASCII karakterleri nasıl yazdırılır? ancak orijinal snippet'imin neden ascii karakterlerini amaçlandığı gibi …

4
Komut dosyası çıktısında ncurses uygulamasından çağrılan kaçış dizileri
Şu anda ev sunucumda bir tmux oturumunda mcber'i (ncurses kullanan) Jabber istemcim olarak çalıştırıyorum. Yerel olarak iTerm2'yi karakter kaçış dizileri aracılığıyla hırıltı bildirimlerinin tetiklenmesini destekleyen bir terminal emülatörü olarak çalıştırıyorum. Not: echoBu sorudaki tüm gibi printf %bveya echo -ebash ve GNU'da çalışır echo. örneğin echo "\e]9;foobar\007"iTerm2'nin "foobar" metniyle bir Growl …

1
Linux kabuğuna yazılan komutlar nasıl gizlenir?
Bir kabukta yazdıklarımı gizlemenin bir yolu var mı, bu yüzden terminal hala komutun çıktısını tutarken tuş vuruşlarımı tekrarlamıyor mu? Örneğin, çalıştırırsam ip addr show, ekrandaki tek şey yazdığım "ip addr show" değil, bu komuttan çıktı olmalıdır.

1
Boru hatları ile çok satırlı bir bash komutunda ayrı satırlarda okunabilir yorumlar?
Boru hatları kullanarak kabuk komut dosyaları oluştururken ve satırları devam ettirmek için ters eğik çizgi kullanırken, yorum eklemek istiyorum çizgiyi kullanırken , sağlam, okunabilir ve taşınabilir bir şekilde ayrı satırlara . Örneğin, bu önerilmeyen çok satırlı komut verildiğinde (netliği için @DigitalRoss'tan çalındı): echo abc | tr a-z A-Z | sort …
14 bash  shell  pipe 


2
Stdout / stderr'ın serpiştirilmesini ne engeller?
Diyelim ki bazı işlemler yapıyorum: #!/usr/bin/env bash foo & bar & baz & wait; Yukarıdaki komut dosyası gibi çalıştırın: foobarbaz | cat anlayabildiğim kadarıyla, süreçlerden herhangi biri stdout / stderr'e yazdığında, çıktıları asla serpiştirilmez - her stdio satırı atomik gibi görünür. Bu nasıl çalışıyor? Hangi program her bir hattın atomik …
14 shell  osx  stdout  output  stderr 

2
Bash for sh Ubuntu'da nasıl kullanılır
Kaynaklarını bir rpmdosya olarak içeren büyük bir program yüklüyorum . Hattına yapışmış #!/bin/sh SCITEGICPERLBIN=`dirname $0` SCITEGICPERLHOME=`dirname $SCITEGICPERLBIN` if [ $SCITEGICPERLHOME == "." ] Görünüşe göre, bu sözdizimi ile Red Hat Linux'ta shçalışın bash, ancak unexpected operatorUbuntu'da hata veriyor . Komut bashdosyası rpmpaketten geliyor gibi komut dosyasını değiştiremiyorum . rpmPaketi çıkarabilir …

4
Bash (veya diğer kabuk) komut dosyalarında boşluk sayısının önemli olduğu bazı durumlar nelerdir?
Bana boşlukların bashya da diğer kabuk metinlerinde önemli olduğu söylendi ve ne yaptığımı bilmiyorsam boşlukların varlığını değiştirmemeliydim. "Varoluşu değiştirmek" ile, ya boşluk olmayan iki karakter arasına boşluk eklemek ya da boşluk olmayan iki karakter arasına boşluk var="$val"koymak , örneğin , var ="$val"ya değiştirmek ya da tam tersi demek . Ben …

3
`Set -e` ile bash script`… &&… `komutunda durmuyor
Ben ilk hatayı bash komut dosyası durdurmakset -e için kullanın . Komutu &&: $ cat script set -e cd not_existing_dir && echo 123 echo "I'm running! =P" $ $ ./script ./script: line 2: cd: not_existing_dir: No such file or directory I'm running! =P $ ile karşılaştırıldığında: $ cat script set …


1
Exec 3 <& 1 ne yapar?
execGeçerli kabukta G / Ç yönlendirmesi yapabileceğini anlıyorum , ancak yalnızca aşağıdaki gibi kullanım görüyorum: exec 6&lt;&amp;0 # Link file descriptor #6 with stdin. # Saves stdin. exec 6&gt;&amp;1 # Link file descriptor #6 with stdout. # Saves stdout. Bundan &lt;girdi akışı için olduğunu , &gt;çıkış akışı için olduğunu anlıyorum …

5
Mkdir kullanarak çok sayıda dizin oluşturma
Kullanarak birçok dizin oluşturmak istiyorum mkdir. Her dizin adı bir önek (dize) ve bir dizin (bir tamsayı) içerecektir. Önek "s" ve indeksler 1 ila 50 arasında olmasını istiyorum varsayalım. Bu, başlıklı dizinler oluşturmak istiyorum anlamına gelir: s1,, s2... s49,,s50 Bunu kullanarak otomatik olarak yapmanın bir yolu var mı mkdir? Zaman …
14 shell  directory 

5
Bir dizindeki X rastgele dosyayı listele
Standart Linux komutlarını kullanarak bir dizinden bir dizi 30 rasgele dosyayı listelemenin bir yolu var mı? (inç zsh) Burada açıklanan üst yanıt benim için sortçalışmıyor ( seçeneği tanımıyor -R)
14 shell  files  zsh 

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.