«shell-script» etiketlenmiş sorular

Kabuk komut dosyaları, kabuk tarafından yorumlanan yürütülebilir dosyalar (bash, zsh, vb.) İle ilgili sorular.

3
awk: dönüş statüsünü zorluyor mu?
Bu benim önceki sorumun takibi . Bu kullanışlı snippit kullanarak / etc / passwd içindeki alanların sayısını onaylıyorum. Aşağıdaki örnekte, kullanıcıların 'fieldcount1' ve 'fieldcount2' yanlış sayıda alana sahip: $ awk -F: ' NF!=7 {print}' /etc/passwd fieldcount1:x:1000:100:fieldcount1:/home/fieldcount1:/bin/bash:::: fieldcount2:blah::blah:1002:100:fieldcount2:/home/fieldcount2:/bin/bash: $ echo $? 0 Fark edeceğiniz gibi, awk 0 döndürme durumu ile çıkacaktır. …




2
Bash betiğini sudo olarak çalıştıran kullanıcının adı nasıl alınır?
Sudo ile yürütülmesi gereken ancak bunu yürüten sudo olmayan kullanıcının adını dikkate alması gereken bir bash betiği oluşturmak istiyorum. Yani kullanıcı bobçalışırsa sudo ./myscript.shben bunu yürütmek olduğunu myscript.shbilmek istiyorum bob. İçine bakalım myscript.sh: USER=$(whoami) # Do something that takes into account the username. Süreci oluşturan kullanıcının adını nasıl bilebilirim? Daha …

4
Kabuk betiği çalıştırırken kullanıcıdan kök olarak oturum açmasını isteme
Aldığım sorun, komuta girdiğimde, su - root benim kabuk komut dosyası başlangıcında, kullanıcıdan parolayı girmesini ister ve daha sonra kabuk komut dosyasının geri kalanıyla devam ETMEZ . Sonra el ile bulmak ve terminal aracılığıyla kabuk komut dosyası çalıştırmak zorunda. Ben komut dosyası kullanıcı kök olarak oturum ve daha sonra kabuk …

3
Sekmeyle ayrılmış dosyaya değer sütunu ekleme
Nasıl belirli sayıda satır içeren bir dosyaya değer sütunu ekleyebilirim. Ben böyle bir girdi dosyası var: Giriş dosyası: SPATA17 1 217947738 LYPLAL1 1 219383905 FAM47E 4 77192838 SHROOM3 4 77660162 SHROOM3 4 77660731 SHROOM3 4 77662248 Çıktı dosyası: SPATA17 1 217947738 file1 LYPLAL1 1 219383905 file1 FAM47E 4 77192838 file1 …

2
Bir bash betiğinde desene göre dize çıkarma
Bash, varsayalım ki bir dize var strname: strname="ph7go04325r" İlk "3" karakter ve son "r" karakter arasındaki karakterleri ayıklamak strname, sonucu bir dize kaydetmek istiyorum strresult. Yukarıdaki örnekte, sonuç strresultşöyle olacaktır: strresult="25" Birinci "3"karakter mutlaka dizgideki 8 konumunda değildirstrname ; Benzer şekilde, en son "r"olan olup , aşağıdaki şeritlerinin iki, 11. …


3
Hangi kabuk yorumlayıcısı hiç betiği olmayan bir senaryo çalıştırır?
Hesabım için varsayılan kabuğun zsh olduğunu varsayalım, ancak terminali açtım ve prac002.shbash'yi çalıştırdım ve komut dosyasını, zsh veya bash'ı çalıştırmak için hangi kabuk yorumlayıcısını kullanacağım? Aşağıdaki örneği düşünün: papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | grep papagolf [sudo] password for papagolf: papagolf:x:1000:1001:Rex,,,:/home/papagolf:/usr/bin/zsh # papagolf's default shell is zsh …

4
Bir değişkeni durum koşulu olarak nasıl kullanabilirim?
|Bir caseifade testi olarak ayrılmış farklı dizeleri oluşan bir değişken kullanmaya çalışıyorum . Örneğin: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac İfadenin ilk kısmını yazabilmek fooveya barçalıştırabilmek istiyorum case. Ancak, ikisini de al foove barikinciye götür: $ foo.sh foo Bad choice! …


2
Komut dosyası aracılığıyla önyüklemede genel ortam değişkenleri nasıl ayarlanır ve oturum açmadan önce çalışan bir uygulama için kullanılabilir hale nasıl getirilir?
Önyükleme çalışan bir hizmet var ve bu hizmet bazı ortam değişkenleri veren arka planda bir bash komut dosyası çağırır. Yaşadığım sorun, bu ortam değişkenlerinin komut dosyamın yürütülmesi tamamlanır tamamlanmaz arka plan işleminin üst öğesine gönderilmiyor olmasıdır. Ayrıca, komut dosyası çalıştırıldıktan sonra hizmet daha sonra sahip olduğum bir uygulamayı başlatan başka …


4
Shell komut dosyası kullanarak Linux'ta tüm dosya adlarındaki boşlukları alt çizgi ile nasıl değiştirebilirim?
Tüm xml dosya adlarından boşlukları değiştirmesi gereken kabuk komut dosyasını takip etmeyi denedim for xml_file in $(find $1 -name "* .xml" -type f); do echo "removing spaces from XML file:" $xml_file mv "$xml_file" "${xml_file// /_}"; done Farz edelim, ben adıyla xml dosyası var xy z.xml, o zaman verir: removing spaces …

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.