«shell-script» etiketlenmiş sorular

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

4
Açıkça yerleşik bir kabuk nasıl çağrılır?
cdKomutun işlevselliğini ihtiyaçlarıma göre özelleştirmek istiyorum . Aşağıdaki işlevi tanımladım - function cd () { cd "$@" && pushd "$@"; } Bu işlevin amacı, dizini otomatik olarak yığının üzerine itmektir, böylece pushd .her seferinde elle yazma çabasını kurtarır . Bununla birlikte, yukarıdaki işlev sonsuz bir özyinelemeli işlevdir, çünkü çağrı çağrısı …

4
vim: + x bit ile dosya oluştur
Oluştururken +xkod üzerinde bit kurmanın bir yolu var mı ? Örneğin ben koşuyorum: vim -some_option_to_make_file_executable script.sh ve kaydettikten sonra herhangi bir ek hareket olmadan dosyayı çalıştırabilirim. ps. Ben çalıştırabilirsiniz chmodgelen vimhatta konsoldan kendisinden, ama bu biraz can sıkıcı, nedenidir vimyeniden dosyaya öneriyor. Ayrıca chmodher seferinde komut yazmak can sıkıcı bir …


4
Bas glob'u bir string değişkeni nasıl yapılır?
Sistem bilgisi İşletim Sistemi: OS X bash: GNU bash, sürüm 3.2.57 (1) -çalışma (x86_64-apple-darwin16) Arka fon Zaman makinesinin tüm git / nodejs projemden bir dizi dizin ve dosyayı hariç tutmasını istiyorum. Benim proje dizinleri vardır ~/code/private/ve ~/code/public/bu yüzden yapmak için bash döngü kullanmaya çalışıyorum tmutil. Konu Kısa versiyon Bir varsa …

2
Bölümleme aygıt adından engelleme aygıtı adı nasıl alınır?
/dev/sdaBölümleme cihaz adı (ör /dev/sda1. ) Verilen üst blok aygıt adı (örneğin ) elde etmek için taşınabilir bir yol arıyorum . Son karakteri bırakabileceğimi biliyorum, ancak bu bazı durumlarda işe yaramaz: MMC kart okuyucuları genellikle gibi adlara /dev/mmcblk0sahipken, bölümleri gibi adlara sahiptir /dev/mmcblk0p1(ekstralara dikkat edin p). isteğe bağlı: bazı blok …

4
İki arka plan komutu verildiğinde, her iki çıkıştan da geri kalanı sonlandırın
İki sunucu başlatan basit bir bash komut dosyası var: #!/bin/bash (cd ./frontend && gulp serve) & (cd ./backend && gulp serve --verbose) İkinci komut çıkarsa, ilk komut çalışmaya devam eder. Komutlardan biri çıkarsa diğeri sonlandırılacak şekilde bunu nasıl değiştirebilirim? Arka plan işlemlerinin hata düzeylerini, yalnızca çıkıp çıkmadıklarını kontrol etmemiz gerekmediğini …

3
Kafa / kuyruğa yönelik olumsuz argümanlar
Bu sorunun varyantları kesinlikle farklı yerlerde birkaç kez sorulmuştur, ancak son Msatırları şanssız bir dosyadan kaldırmaya çalışıyorum . İkinci en olarak cevap içinde bu soruya bir dosyada son satırın kurtulmak için aşağıdakileri yaparak önerir: head -n -1 foo.txt > temp.txt Ancak, OSX ve Zsh'de denediğimde, şunu elde ederim: head: illegal …

5
Kabuk komut dosyalarında kök ayrıcalıklarını nasıl bırakabilirim?
OpenVPN'deki "--up" seçeneği normalde yönlendirme vb. İçin kullanılır. Bu nedenle OpenVPN, hiç kimse olarak çalışmak için kök ayrıcalıklarını bırakmadan önce işlenir. Ancak, ayrıcalıksız bir kullanıcı olarak çalışması gereken kabuk komut dosyalarını çağırıyorum. Bunu nasıl yaparım? Ben inceledik Bırak Süreç Ayrıcalıklar , özellikle polinom 's ve tylerl verdiği cevapları, ama nasıl …

3
arka plan işleminin güvenilir dönüş kodu
Aşağıdaki bash kodu parçasını varsayalım: foo > logfile 2>&1 & foo_pid=$! while ps -p$foo_pid do ping -c 1 localhost done wait $foo_pid if [[ $? == 0 ]] then echo "foo success" fi $?Gerçekten de dönüş kodunun foodeğil, dönüş kodunu içerdiğini varsaymak güvenli pingmidir? Bu sorunun cevabı: "Bunu kabul edemezsiniz." …


1
Curl kullanarak FTP üzerinden birden fazla dosya yükleme
Geçerli klasördeki tüm metin dosyalarını FTP üzerinden curl kullanarak bir sunucu konumuna yüklemeye çalışıyorum. Aşağıdaki satırı denedim: curl -T "{file1.txt, file2.txt}" ftp://XXX --user YYY burada XXX sunucunun IP adresidir ve YYY kullanıcı adı ve şifredir. File1.txt dosyasını sunucuya başarıyla aktarabiliyorum, ancak ikinci dosyadan 'Dosya_adı' açılamıyor! Dosya adlarını değiştirdim ve file1.txt …
14 shell-script  ftp  curl 

2
Bir işlevde yerel olarak Bash Scripting yankısı
Bash komut dosyalarında değişkenlerimi yapabildiğim her yerde işlevlere yerel tutmaya ve sonra ihtiyacım olanı feryat gibi işlevlerden geçirmeye çalışıyorum #!/bin/bash function FUNCTION() { local LOCAL="value" echo "$LOCAL" # return this variable } GLOBAL=$(FUNCTION) echo "$GLOBAL" Ancak, fonksiyonun kendi echos'unu dahil ederken bunu yapmak mümkün mü, böylece fonksiyonun çıktısı için kendi …

4
JSON dizisinden bir alanı bash dizisine ayrıştırma
Bir değişkende depolanan nesnelerin listesini içeren bir JSON çıktı var. (Bunu doğru ifade etmeyebilirim) [ { "item1": "value1", "item2": "value2", "sub items": [ { "subitem": "subvalue" } ] }, { "item1": "value1_2", "item2": "value2_2", "sub items_2": [ { "subitem_2": "subvalue_2" } ] } ] Ben ubuntu 14.04.1 üzerinde çalıştırmak için …

3
yankı veya baskı / dev / stdin / dev / stdout / dev / stderr
/ Dev / stdin, / dev / stdout ve / dev / stderr değerini yazdırmak istiyorum. İşte benim basit senaryom: #!/bin/bash echo your stdin is : $(</dev/stdin) echo your stdout is : $(</dev/stdout) echo your stderr is : $(</dev/stderr) aşağıdaki boruları kullanıyorum: [root@localhost home]# ls | ./myscript.sh [root@localhost home]# testerr …

4
Bir klasörde dolaşın ve dosyaları listeleyin
'Örnek' adlı bir klasör var ve içinde 3 dosya var. Bu dosyaları örnek klasör içinde okuyacak ve curl kullanarak bir HTTP sitesine gönderecek bir kabuk komut dosyası yazmak istiyorum. Klasör içindeki dosyaları listelemek için aşağıdakileri yazdım: for dir in sample/*; do echo $dir; done Ama bana şu çıktıyı veriyor: sample/log …

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.