«shell-script» etiketlenmiş sorular

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

3
Adlandırılmış bir boruya otomatik EOF'leri önleme ve istediğim zaman bir EOF gönderme
Belirli bir akış (aşağıdaki durumda, stdin) bir EOF okuduktan sonra otomatik olarak çıkan bir program var. Şimdi adlandırılmış bir kanal oluşturan ve programın stdin'ini ona bağlayan bir kabuk betiği yapmak istiyorum. Daha sonra komut dosyası, ve (ve çıktıklarında otomatik olarak bir EOF oluşturan diğer araçlar) kullanarak birkaç kez boruya yazar …


4
Bir yml dosyasını kabuk betiği ile değiştirmek mümkün müdür?
Benim docker-compose.yml böyle görünüyor. nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' links: - 'anything' Şimdi kabuk komut dosyası (ubuntu sunucusunda) üzerinden bazı içerik eklemem gerekiyor. Hiç mümkün olup olmadığından emin değilim: nginx/linksVarsa, yeni öğe ekle Yeni newthingblok yoksa, blok ekle Yeni içerik …

3
Bir bağlantı noktası bir ileti aldığında yürütülecek bir komut dosyası nasıl ayarlanır
Belirli bir bağlantı noktasında dinlemek için bir kabuk komut dosyası almak nasıl merak ediyorum (belki netcat kullanarak?). Umarım bu bağlantı noktasına bir mesaj gönderildiğinde, komut dosyası mesajı kaydeder ve sonra bir işlevi çalıştırır. Misal: Bilgisayar 1 arka planda çalışan bir komut dosyasına sahip, komut dosyası 1234 numaralı bağlantı noktasını gelen …

2
Kabuk komut dosyalarının kaynağına yönelik bir dosya uzantısı için resmi standart / kural
Çalıştırmak istediğiniz kaynak komut dosyaları için dosya türü uzantıları için bir kural olup olmadığını merak ediyordum. Örneğin: Bu komut dosyasını bir alt kabukta çalıştırmak istersem. ./script.sh Bu komut dosyasını geçerli kabuktan çalıştırmayı hatırlamak istersem. . script.source Var mı bir kongre İkinci örnekte bir dosya türleriyle (örneğin POSIX gibi)? Böyle bir …

5
bash + özel biçimde yazdırmak için printf kullanma
Linux makineleri listesindeki ping erişimini kontrol etmek için aşağıdaki bash betiğini yazdım: for M in $list do ping -q -c 1 "$M" >/dev/null if [[ $? -eq 0 ]] then echo "($C) $MACHINE CONNECTION OK" else echo "($C) $MACHINE CONNECTION FAIL" fi let C=$C+1 done Bu yazdırır: (1) linux643 CONNECTION …

2
Kabuk ile dizi desteği testi
Komut satırında yerel Bourne benzeri kabuk tarafından dizi desteği için test etmenin kısa bir yolu var mı? Bu her zaman mümkündür: $ arr=(0 1 2 3);if [ "${arr[2]}" != 2 ];then echo "No array support";fi veya $SHELLkabuk sürümü için test : $ eval $(echo "$SHELL --version") | grep version ve …


2
Rsync'in bash'de herhangi bir değişiklik yapıp yapmadığını nasıl kontrol edebilirim?
Bir uzak -> yerel senaryoda veri eşitlemek için rsync kullanan bir komut dosyası var. Rsync komutu çalıştırıldıktan hemen sonra, hata kodunun sıfıra eşit olup olmadığını kontrol edin. Sıfır ise, başka komutlar gerçekleştirilir. Ancak bu, rsync'in başarılı bir şekilde çalıştığını, ancak aslında herhangi bir değişiklik yapmamış olabileceğini dikkate almaz. Bu nedenle, …

5
Bir günden daha yeni dosyaları bulma ve kopyalama
SADECE son gün içinde oluşturulmuş dosyaları başka bir klasöre kopyalayacak bir komut dosyası üzerinde çalışıyorum. Sahip olduğum sorun sadece bir günden daha eski dosyalar yerine kaynak dizindeki tüm dosyaları kopyalar. Sahip olduğum şey bu: find . -mtime -1 -exec cp --preserve --parents -a "{}" /somefolder \; Yukarıdaki kod, kaynak dizindeki …



2
Komutları paralel olarak çalıştırın ve bir komut grubunun diğerini başlatmadan önce bitmesini bekleyin
Birden fazla komut içeren komut dosyası var. Birlikte çalışacak komutları nasıl gruplandırabilirim (Birkaç komut grubu yapmak istiyorum. Her grupta, komutlar paralel olarak çalışmalıdır (aynı anda). Gruplar, bir grubun sonraki grup) ... yani #!/bin/bash command #1 command #2 command #3 command #4 command #5 command #6 command #7 command #8 command …

3
Terminalden değil bash işlevinden çık
Ben zookeeper yükler aşağıdaki gibi bir bash betiği var ama sadece zaten yüklü değilse. ##zookeper installZook(){ ZOOK_VERSION="3.4.5" ZOOK_TOOL="zookeeper-${ZOOK_VERSION}" ZOOK_DOWNLOAD_URL="http://www.us.apache.org/dist/zookeeper/${ZOOK_TOOL}/${ZOOK_TOOL}.tar.gz" if [ -e $DEFAULT_INSTALLATION_DEST/${ZOOK_TOOL} ]; then echo "${ZOOK_TOOL} alreay installed"; exit 1; # <<<< here elif [ ! -e $DEFAULT_SOURCE_ROOT/${ZOOK_TOOL}.tar.gz ]; then wgetIt $ZOOK_DOWNLOAD_URL else echo "[info] : $DEFAULT_SOURCE_ROOT/$ZOOK_TOOL already exists" …


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.