«shell-script» etiketlenmiş sorular

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

3
`//` ile başlayan Shebang?
Aşağıdaki script ( hello.go) hakkında kafam karıştı . //usr/bin/env go run $0 $@ ; exit package main import "fmt" func main() { fmt.Printf("hello, world\n") } Yürütebilir. (MacOS X 10.9.5’de) $ chmod +x hello.go $ ./hello.go hello, world Onunla başlayan Shebang'ı hiç duymadım //. Ve betiğin en üstüne boş bir satır …

3
“IFS = read -r satırı” nı anlama
İç alan ayırıcı değişkenine değer katabildiğini açıkça biliyorum. Örneğin: $ IFS=blah $ echo "$IFS" blah $ Ayrıca read -r lineveriyi stdinisimli değişkene kaydedeceğini de biliyorum line: $ read -r line <<< blah $ echo "$line" blah $ Bununla birlikte, bir komut değişken değişkenini nasıl atayabilir? Ve önce veriyi stdindeğişkene depolar …

12
Neden bütün bir bash betiğini fonksiyonlara yazmalı?
İşte, bash scriptlerini sık sık yazıyorum. Danışmanım, aşağıdaki komut örneğine benzer bir şekilde tüm komut dosyasının fonksiyonlara bölünmesini önerdi: #!/bin/bash # Configure variables declare_variables() { noun=geese count=three } # Announce something i_am_foo() { echo "I am foo" sleep 0.5 echo "hear me roar!" } # Tell a joke walk_into_bar() { …

6
Ls -l ve ll arasındaki fark?
Bir bütün olarak programlamaya nispeten yeniyim ve bazı dersler bana ls -lbir dizindeki dosyalara bakmak için kullanmamı ve bazılarının da söylediklerini söyledi ll. Bunun lskısa bir liste olduğunu biliyorum , fakat diğer ikisi arasında bir fark var mı?
59 shell  shell-script  ls 


4
Bir link aracılığıyla çalıştırıldığında mevcut betiğin yolunu alın
Bazı bash betiği olan birkaç dizinden ve muhtemelen her makinede farklı bir dizinde bulunan birkaç makineye dağıtılacak destek dosyalarından oluşan bir yardımcı programım var. Komut dosyalarının kendilerine göre yollara referans verebilmeleri gerekir, bu nedenle yürütülmekte olan dosyanın yolunu bulabilmeliyim. dirname $0Senaryomu doğrudan çağırdığınızda mükemmel çalışan deyimin farkındayım . Ne yazık …




10
bash: $ WORD ayarlanmışsa test edin
bashBir değişkenin $WORDtanımlanmış kelimelerden biri olup olmadığına karar vermek için bir yapı arıyorum . Bunun gibi bir şeye ihtiyacım var: if "$WORD" in dog cat horse ; then echo yes else echo no fi bash'ın böyle bir yapısı var mı? Olmazsa, en yakın ne olurdu?

6
Günlükte bir metin izlemenin ve komutta bir metin göründüğünde komut çalıştırmanın en iyi yolu
Sunucu çalışırken belirli bir metin satırını günlük dosyasına gönderen bir sunucu günlüğüne sahibim. Sunucu açıldıktan sonra bir komut çalıştırmak istiyorum ve bu nedenle aşağıdakine benzer bir şey yapın: tail -f /path/to/serverLog | grep "server is up" ...(now, e.g., wget on server)? Bunu yapmanın en iyi yolu nedir?

6
İki değişkeni alt çizgi ile birleştirme
Alt çizgileri olan bir dosya adı oluşturmak için iki değişkeni birleştirmem gerekiyor. Değişkenlerimi $FILENAMEve $EXTENSIONdosya isminin bir dosyadan okunduğu yeri arayalım . FILENAME=Hello EXTENSION=WORLD.txt Şimdi ... Aşağıdakileri başarı olmadan denedim: NAME=${FILENAME}_$EXTENSION NAME=${FILENAME}'_'$EXTENSION NAME=$FILENAME\\_$EXTENSION Ben her zaman bir tür garip çıktı alırım. Genellikle ilk önce alt çizgi olur. Olmam gerek echo …

5
Bir sınırlayıcının ilk oluşumuna göre dizgiyi bölme
Bir sonraki formatta bir dize var id;some text here with possible ; inside ve ilk cereyan edişiyle onu 2 dizeye bölmek istiyorum ;. Yani, olmalı: idvesome text here with possible ; inside Dize nasıl bölüneceğini biliyorum (örneğin, ile cut -d ';' -f1), ancak ;sol bölümün içindeyken daha fazla bölüme ayrılacak …

3
Bir kabuk betiğinde çevre değişkenlerini “dışa aktarılmış” nasıl yapabilirim?
Birden fazla Amazon EC2 hesabım var ve $EC2_HOMEbir komut dosyası kullanmak gibi değişkenleri hızlı bir şekilde değiştirebilmek istiyorum . Böyle bir kabuk komut dosyası var: #!/bin/sh export EC2_HOME=/home/me/.ec2 echo $EC2_HOME Komut dosyasını çalıştırdığımda bunun EC2_HOMEayarlandığını biliyorum , ancak exportkomut dosyasının tamamlanmasından sonra kullanmanın değişken yapışmasını engelleyeceğini düşündüm . Çalışmaz, echo …

5
Zsh içinde kendi shell fonksiyonunu nasıl tanımlayabilir ve yükleyebilirsin?
Kendi kabuk işlevlerimi tanımlamak ve çalıştırmak için zsh olarak zorlanıyorum. Resmi dokümantasyondaki talimatları izledim ve ilk önce basit örneklerle çalıştım, ancak çalışmasını sağlayamadım. Bir klasörüm var: ~/.my_zsh_functions Bu klasörde adlı bir dosya var functions_1olan rwxkullanıcı izinleri. Bu dosyada tanımlanmış aşağıdaki kabuk işlevi var: my_function () { echo "Hello world"; } …
54 shell-script  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.