«bash» etiketlenmiş sorular

Bash komut kabuğu için yazılmış komut dosyaları hakkında sorular için. Hata / sözdizimi hatalarına sahip kabuk komut dosyaları için, lütfen buraya göndermeden önce shellcheck programıyla (veya https://shellcheck.net adresindeki web shellcheck sunucusunda) kontrol edin. Bash'in etkileşimli kullanımı ile ilgili soruların Yığın Taşması'ndan çok Süper Kullanıcı'da konuya bağlı olma olasılığı daha yüksektir.

13
Kabuk betiği - bir değişkenten ilk ve son alıntıyı (") kaldır
Aşağıda, daha büyük bir komut dosyasından bir kabuk komut dosyasının snippet'i bulunmaktadır. Bir değişken tarafından tutulan dizeden tırnak işaretlerini kaldırır. Sed kullanarak yapıyorum, ama verimli mi? Değilse, etkili yol nedir? #!/bin/sh opt="\"html\\test\\\"" temp=`echo $opt | sed 's/.\(.*\)/\1/' | sed 's/\(.*\)./\1/'` echo $temp
225 string  bash  shell  unix  sed 

5
Koşul durumunda Bash'de “tekli operatör bekleniyor” hatası
Bu konuda neyin yanlış olduğunu anlamaya çalışıyorum ama anlayamıyorum .. Bu kısmı bir hata alıyor gibi görünüyor .. elif [ $operation = "man" ]; then if [ $aug1 = "add" ]; then # <- Line 75 echo "Man Page for: add" echo "" echo "Syntax: add [number 1] [number 2]" …
225 bash  shell 

20
Bh betiğinde geçen süre nasıl hesaplanır?
Başlangıç ​​ve bitiş zamanını kullanarak yazdırıyorum date +"%T", bu da şöyle bir şeyle sonuçlanır: 10:33:56 10:36:10 Bu ikisi arasındaki farkı nasıl hesaplayabilir ve yazdırabilirim? Gibi bir şey almak istiyorum: 2m 14s
224 bash  date 


18
Bash'de 4 basamaklı Unicode karakterini nasıl yankılanıyorsunuz?
Unicode kafatası ve kemiklerini kabuk istemime eklemek istiyorum (özellikle 'KAFATAS VE ÇAPRAZLAR' (U + 2620)), ama yankı tükürmek için sihirli büyüyü anlayamıyorum, ya da başka bir şey, 4 basamaklı Unicode karakter. İki basamaklı biri kolaydır. Örneğin, echo -e "\ x55",. Aşağıdaki cevaplara ek olarak, çıktının beklediğiniz gibi olması için terminalinizin …

19
Bir kürenin bash'ta herhangi bir eşleşmesi olup olmadığını test edin
Tek bir dosyanın varlığını kontrol etmek istersem, test -e filenameveya öğesini kullanarak test edebilirim [ -e filename ]. Varsayalım bir glob var ve isimleri glob ile eşleşen herhangi bir dosya olup olmadığını bilmek istiyorum. Glob 0 dosyayla eşleşebilir (bu durumda hiçbir şey yapmam gerekir) veya 1 veya daha fazla dosyayla …
223 bash  glob 



7
Kabuğumda tanımlanan işlevleri nasıl listeleyebilirim?
Tüm takma adların bir listesini göstermek için takma ad yazabilirim. Ama fonksiyonlar için yapabileceğim tek şey grep my .bash_profile. Bu sadece o dosyadakileri alır, ikincil dosyalarda veya dinamik olarak tanımlananları değil. Şu anda hangi işlevlerin tanımlandığını bulmanın daha uygun bir yolu var mı?
223 bash  shell  function  unix 

13
Bul tarafından döndürülen dosya adları arasında nasıl geçiş yapılır?
x=$(find . -name "*.txt") echo $x Bash kabuğunda yukarıdaki kod parçasını çalıştırırsam, elde ettiğim, bir liste değil, boşla ayrılmış birkaç dosya adı içeren bir dizedir. Tabii ki, bir liste almak için onları boş olarak ayırabilirim, ancak eminim bunu yapmanın daha iyi bir yolu var. Peki bir findkomutun sonuçları arasında geçiş …
223 bash  find 

8
Bir komut başarısız olursa nasıl çıkılır?
Ben kabuk komut dosyasında bir çaylakım. Bir komut yazdırılamazsa bir ileti yazdırmak ve komut dosyamdan çıkmak istiyorum. Denedim: my_command && (echo 'my_command failed; exit) ama bu çalışmıyor. Komut dosyasında bu satırı izleyen talimatları yürütmeye devam eder. Ubuntu ve bash kullanıyorum.
222 linux  bash  exit  exitstatus 

30
Conda nasıl çalıştırılır?
Anaconda'yı kurdum ve Python'u çalıştırabiliyorum, bu yüzden doğru kurduğumu varsayıyorum. Bu tanıtım belgelerinin ardından , Python v3.3'ü yüklemeye çalışıyorum, bu yüzden aşağıdaki satırı kopyalayıp konsoluma yapıştırıyorum: conda create -n py33 python=3.3 anaconda Ancak, bu bana bir hata veriyor: -bash: conda: komut bulunamadı Conda'yı çalıştırmak için ne yapmam gerekiyor? Bir Linux …
221 python  bash  anaconda  conda 

8
Bash'de iki değişkeni çıkarın
İki dizin arasındaki dosya sayısını çıkarmak için aşağıdaki komut dosyası var ama COUNT=ifade çalışmıyor. Doğru sözdizimi nedir? #!/usr/bin/env bash FIRSTV=`ls -1 | wc -l` cd .. SECONDV=`ls -1 | wc -l` COUNT=expr $FIRSTV-$SECONDV ## -> gives 'command not found' error echo $COUNT
220 bash  shell  unix 

19
Kabuk betiğindeki sembolik bağlantılar nasıl giderilir
(Unix benzeri bir sistemde) mutlak veya göreceli bir yol göz önüne alındığında, herhangi bir ara bağlantıyı çözdükten sonra hedefin tam yolunu belirlemek istiyorum. Aynı zamanda ~ kullanıcı adı gösterimini çözmek için bonus puanlar. Hedef bir dizin ise, dizine chdir () ve sonra getcwd () çağırmak mümkün olabilir, ama gerçekten bunu …
220 bash  shell  scripting  symlink 


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.