«shell-script» etiketlenmiş sorular

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

4
Bir bash komut dosyasında mantıksal VE
Ben if2 dosya EITHER olup olmadığını kontrol etmek zorunda benim bash komut dosyası var, yoksa onlar yankı eşleşmelidir. Kod var: if [[ ! -f /etc/benchmarking/code ]] && [[ ! -f /etc/benchmarking/code.class ]]; then echo "match" fi Ama bu bir sebepten dolayı işe yaramıyor gibi görünüyor. Bu 2 dosyanın olmadığından% 110 …

5
Bir kabuk betiğini nasıl profilleyebilirim?
Bir kabuk komut dosyasında yürüttüğüm birkaç program var: ./myprogram1 ./myprogram2 ... Kaynak kodunu düzenleyerek her bir programı profilleyebileceğimi biliyorum, ancak betiğin kendisini profilleyerek yürütülen toplam süreyi ölçebileceğim bir yol olup olmadığını bilmek istedim. Bu amaçla kullanabileceğim bir zamanlayıcı programı var mı? Eğer öyleyse, ölçümü ne kadar hassas?

2
Bash'te bir menü yazdırmak için `select` komutunu kullanma
selectKomutu kullanarak basit bir menü uygulamaya çalışıyorum . Komut dosyası (test amacıyla) aşağıdaki gibidir: #!/bin/bash echo "*******************" PS3='Select an option and press Enter: ' options=("apache" "named" "sendmail") select opt in "${options[@]}" do case $opt in "apache") date ;; "named") echo "test" ;; "sendmail") echo "test 2" ;; *) echo "invalid …

1
Dize önünde “-” ile bash içeren bir dosyaya birden çok satır ekleme
Soru bash ile bir dosyaya birden çok satır nasıl eklenir, ancak dosyayı başlatmak ve --mümkünse dosyaya eklemek istiyorum. printf "--no-color\n--format-doc\n--no-profile\n" >> ~/.rspec-test Sorun dosyayı "-" ile başlatarak bana şunu veriyor: -bash: printf: --: invalid option printf: usage: printf [-v var] format [arguments] Kaçmak için bir yol var mı --? Alternatif …

1
Bir sunucuyu uzaktan test etmeye devam eden bir kabuk komut dosyası yazmaya çalışıyorum, ancak çıkış yaptığımda başka bir ifadede düşmeye devam ediyor
Sunucumu test etmeye devam eden bir kabuk komut dosyası yazmaya ve çalıştığında bana e-posta göndermeye çalışıyorum. Sorun şu ki, ssh bağlantısından çıkış yaptığımda &, komutun sonunda çalıştırılmasına rağmen ./stest01.sh &, otomatik olarak başka bir şeye düşüyor ve tekrar giriş yapıp öldürene kadar sürekli olarak postalamaya devam ediyor. #!/bin/bash while true; …

4
Döngü ve genleşme performansı
Aşağıdaki karşılaştırma konusunda uzman önerilerine ihtiyacınız var: Döngü kullanarak Kod Segmenti: for file in `cat large_file_list` do gzip -d $file done Basit genişletme kullanarak kod segmenti: gzip -d `cat large_file_list` Hangisi daha hızlı olacak? Büyük veri kümesini değiştirmek zorundasınız.

3
Desteklenmeyen 'shopt' seçeneklerinin .bashrc dosyamda hatalara neden olmasını nasıl önleyebilirim?
Farklı HPC düğümlerinde, VM'lerde veya kişisel iş istasyonumda farklı Bash sürümleri çalıştırdığım nispeten heterojen bir ortamda çalışıyorum. Giriş betiklerimi Git deposuna koyduğum için .bashrc, "bu ana bilgisayar, o zaman ..." türünde bir karışıklık olmadan, tahtada aynı (ish) kullanmak istiyorum . Ben gibi Bash ≤ genişletir 4.1 varsayılan davranış cd $SOMEPATHiçine …

1
sadece çizgi içindeki farkları gösteren fark
İki dosyadaki satırları karşılaştırmak istiyorum, ancak çıktıdaki gürültüyü en aza indirmek için satırlardaki gerçek farklılıkların yazdırılmasını istiyorum. Örneğin, aşağıdaki iki dosya göz önüne alındığında: a.txt a b c d e f g h i j k l m n o p q r s t u v w x y …


2
Dinamik olarak komut oluşturma
Bir komut dosyası üzerinde çalışıyorum ve tarkomutu dinamik olarak oluşturmam gerekiyor . İşte yapmaya çalıştığım şeyi gösteren iki örnek: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar "`printf -- '%s ' …

6
Bash sıralama dizisi elemanların uzunluğuna göre mi?
Dizeler dizisi verildiğinde, diziyi her öğenin uzunluğuna göre sıralamak istiyorum. Örneğin... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) Sıralamak gerekir ... "the longest string in the list" "also a medium string" "medium string" "middle string" "short string" …


2
XML komut satırı (kabuk komut dosyası) işleme
XML, kabuk betiğindeki komut satırından nasıl değiştirilir? Sekmeli verileri işlemek, ortam değişkenini değiştirmek veya metin parçalarını normal ifadeyle değiştirmek için birçok komut var, ancak XML için hiçbir şey bulamadım. Yapım komut dosyamın xml belgesinin ana etiketi içinde içeriğe sahip bir etiket eklemesi gerekiyor ve bu amaçla OS'de java, perl veya …

3
Shell komutunun string değişkeni ile korunması
Bir programlama dilinde, basit bir kabuk komutu yürütüyorum cd var; echo > create_a_file_here ile var ben dosyası "create_a_file_here" oluşturmak istediğiniz yere (umarım) bir dizinin bir dize içeren bir değişken olma. Birisi bu kod satırını görürse, örneğin atayarak koddan yararlanmak mümkündür: var = "; rm -rf /" İşler oldukça çirkinleşebilir. Dizeyi …

7
`Kaynak` komutunun tersi
sourceDeğişken değerlerini okumak / yazdırmak için bash komut dosyamdaki komutu kullanıyorum more linuxmachines_mount_point.txt export linuxmachine01="sdb sdc sdf sdd sde sdg" export linuxmachine02="sde sdd sdb sdf sdc" export linuxmachine03="sdb sdd sdc sde sdf" export linuxmachine06="sdb sde sdf sdd" source linuxmachines_mount_point.txt echo $linuxmachine01 sdb sdc sdf sdd sde sdg sourceDeğişkenleri çözmek için …

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.