«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
“Wait &” (“wait ampersand”) yararlı (bash) kabuk / kabuk komut dosyası deyimi veya tekniği midir?
GNU "bash" kabuğunu çalıştıran Linux makineleri için bazı kabuk komut dosyalarını "devralmış". Belirli bir durumda, makine GNU bash 2.0.5b sürümünü çalıştırır Bu komut dosyalarından birinde wait &, bir fordöngünün "satır" için bir parçası olarak ("ve işareti bekle") komutu bulunur . İlk bakışta, bu meraklı / ilginç bir deyim gibi görünüyor, …

2
“Export” komutunun kullanımı nedir?
Bir terminal penceresinde bir ortam değişkeni oluşturdum ve başka bir terminal penceresinde yankılamaya çalıştım. Hiçbir şey göstermedi. $TEST=hello Bundan sonra ihraç ettim ve echofarklı bir terminal penceresinde tekrar denedim . sonuç öncekiyle aynıydı. export TEST ancak girişte aynı kodu çalıştırırsam (kodu ~/.profiledosyaya ekleyerek ) değişkenler herhangi bir terminal penceresi kullanılabilir. …

2
Değişkenler oluşturma ve döngü (bash) ile değerler atama
Bir bash değişkenleri oluşturmanın ve bunları bir döngü aracılığıyla değer atamanın bir yolu var mı? Çizgileri boyunca bir şey: #!/bin/bash c=0 for file in $( ls ); do var"$c"="$file"; let c=$c+1; done DÜZENLEME: @Costas ve @mdpc'e bunun bir listeye kötü bir alternatif olacağını belirttiği için teşekkür ederiz; soru sadece teoriktir.

3
Herhangi bir komut hatası benim bash komut dosyası otomatik olarak çalıştırmak için bir yolu var mı?
Bir sürü komut yapması gereken bir kabuk komut dosyası yazıyorum ve her komut önceki komutlara bağlıdır. Herhangi bir komut başarısız olursa, tüm komut dosyası başarısız olmalıdır ve ben bir çıkış işlevini çağırıyorum. Her komutun çıkış kodunu kontrol edebilirim, ancak etkinleştirebileceğim bir mod olup olmadığını veya bash'ın bunu otomatik olarak yapmasının …

1
Kök kabuk pip görür ancak sudo pip “komut bulunamadı”
Ben aracılığıyla Python 2.7.8 yüklemiş makeve make installardından yoluyla pip olsun pip . Şunu belirtmeliyim ki, kurduğum bir proxy'nin arkasında çalışıyorum http_proxy ftp_proxy https_proxy içinde benim kullanıcım ~/.zshrc kök en /root/.basrc şimdi koşabiliyorum pip kullanıcı hesabımda kök hesapta ama sudo kullanarak kullanıcımın kabuğu üzerinden çalıştıramıyorum sudo pip sudo: pip: command …

5
Bir metin bulduktan sonra belirli satırları nasıl okuyabilirim?
Bazı metinleri bulduktan sonra belirli sayıda satırı nasıl okuyabilirim? Örneğin.: "Unix" i bulduktan sonra sonraki 2 satırı okuyun: Test 1 Test 2 Test 3 Test 4 UNIX Test 5 Test 6 Test 7 Test 8 Test 9 Sonuç şunlar olabilir: Test 5 Test 6 Not: Son örnekteki "Unix" bir bağımsız …
12 bash  shell 

5
Bir kabuk komutunun çıktısındaki karakter sayısı
Tek bir adımda bir komutun çıkışındaki karakter sayısını hesaplaması gereken bir komut dosyası yazıyorum . Örneğin, komutun kullanılması 10 karakter uzunluğunda olduğu için komutun kullanılması readlink -f /etc/fstabgerekir 10. Bu, aşağıdaki kod kullanılarak saklanan değişkenlerle zaten mümkündür: variable="somestring"; echo ${#variable}; # 10 Ne yazık ki, aynı formülü komut tarafından oluşturulan …
12 shell  string  variable 


3
Bir bağlantının bağlı olduğu bir dizine girme
Bir cdbağlantı oluşturduğumda, geçerli yoluma, bağlantının bağlandığı dizinin yolu yerine bağlantının yolu eklenir. Örneğin ~/dirlinks/maths$ ls -l logic lrwxrwxrwx 1 tim tim 71 Jul 27 10:24 logic -> /windows-d/academic discipline/study objects/areas/formal systems/logic ~/dirlinks/maths$ cd logic ~/dirlinks/maths/logic$ pwd /home/tim/dirlinks/maths/logic ~/dirlinks/maths/logic$ cd .. ~/dirlinks/maths$ Geçerli yolumun bağlantılı dizinin yoluna değişmesini istiyorum, böylece …

3
Sürüye birden fazla komut iletme
flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt' flockYukarıdaki örnekte olduğu gibi birden çok komutu nasıl iletirim? Anladığım kadarıyla, flockfarklı bayraklar (özel için -x, zaman aşımı için -w), ardından kilitlenecek dosya ve ardından çalıştırılacak komut alır. Bu işleve nasıl iki komut geçireceğinden emin değilim (kilitli …

7
yankı öncesi zaman damgası
Bir önünde zaman damgası oluşturmak için daha güzel bir yol var echomı? Şu anda bu şekilde yapıyorum: #!/bin/sh if mount | grep -q /mnt/usb; then echo `date +%R\ ` "usb device already mounted" else echo `date +%R\ ` "mounting usb device..." mount -t msdosfs /dev/da0s1 /mnt/usb if mount | grep …
12 shell  timestamps  echo 


4
Arka planda birden fazla nohup komutu çalıştırma
İki komut cmd1 ve cmd2 var. İkisinden cmd2'nin bitmesi daha uzun sürer. Cmd2 ve ardından cmd1'i çalıştırmanız gerekir. Onları aşağıdaki şekilde çalıştırmayı denedim: bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 & veya bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 & Ama cmd1'in her iki zamanı da cmd2'nin bitmesini beklemediğini ve …

3
Sistem paketi yöneticisini belirleme
Varsayılan sistem paketi yöneticisini tanımlamanın bir yolu var mı (komut dosyasından)? Açıklığa kavuşturmak için, yapmak istediğim belirli bir komutu çalıştırmaktır ve Debian veya türevlerinden herhangi birinde "apt" gibi bir şey döndürür, openSUSE üzerinde "zypp" döndürür, Fedora ve ark. "yum", Arch Linux'ta "pacman" vb. döndürür. Bunu aşağıdaki gibi bir şeyle yapabileceğimi …


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.