«shell-script» etiketlenmiş sorular

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

2
“Bash -x” bu betiği neden kırıyor?
Bazı komutun ne kadar çalıştığını ölçen bir komut dosyası var. "Gerçek" timekomutuna, yani bir ikili /usr/bin/timedosyaya (bash-built-in -fbayrağı olmadığı için ) ihtiyaç duyar . Aşağıda, hata ayıklanabilecek basitleştirilmiş bir komut dosyası: #!/bin/bash TIMESEC=$(echo blah | ( /usr/bin/time -f %e grep blah >/dev/null ) 2>&1 | awk -F. '{print $1}') echo …

5
Bu komut dosyasını for döngüsünün sonucuna göre hata çıkışına nasıl alabilirim?
set -o errexitHata durumunda tüm komut dosyası hata noktasında çıktığı kullanan bir bash komut dosyası var . Komut dosyası, curlbazen istenen dosyayı alamayan bir komut çalıştırır - ancak bu durumda komut dosyası çıkışta hata vermez. İçin bir fordöngü ekledim birkaç saniye duraklatın, ardından curlkomutu yeniden deneyin falsevarsayılan sıfır dışında bir …

1
Dosya kopyalama ve zaman damgası ekleme
Komut dosyamda dosyaları kopyalayan ve ada bir zaman damgası ekleyen iki sorun var. cp -ra /home/bpacheco/Test1 /home/bpacheco/Test2-$(date +"%m-%d-%y-%T") Yukarıdaki Test2dosya adı ekler , ancak ben bu örnekte adlandırılmış özgün kaynak dosyasının dosya adını tutmak istiyorum Test. cp -ra /home/bpacheco/Test1 /home/bpacheco/Test2-$(date +"%m-%d-%y-%r") Diğer bir sorun zaman %rdamgası kodu eklemek zaman hedef …


9
Komut satırı aracı, bir dosyadaki tüm satırların çift olarak genişletilmesine “cat”
Aşağıdaki gibi görünen bir dosyam var (örnek.txt olarak adlandırın): Row1,10 Row2,20 Row3,30 Row4,40 Ben esas olarak dört satırın (yani toplam 16 ile bitmelidir) ikili kombinasyonu olan bu dosyadan bir akış üzerinde çalışmak istiyorum. Örneğin, çıktı olduğu bir akış (yani verimli) komut arıyorum: Row1,10 Row1,10 Row1,10 Row2,20 Row1,10 Row3,30 Row1,10 Row4,40 …




4
Yalnızca değiştirilen dosyaların yedeklerini oluşturan bir sed yerinde değiştirme nasıl yapılır?
Geçerli çalışma dizinindeki tüm dosyalarda kullanılan bir terimi değiştirmek için aşağıdakileri çalıştırdım: $ find . -type f -print0 | xargs -0 sed -i'.bup' -e's/Ms. Johnson/Mrs. Melbin/g' Bu, sözcük değiştirme işlemini gerçekleştirdi, ancak dizeye .buphiç sahip olmayan dosya dosyaları da yarattı Ms. Johnson. Tüm bu gereksiz yedeklemeleri oluşturmadan değişikliği nasıl yapabilirim?

3
Ls -s ne zaman “0” yazdırır?
Tabii ki, bir dosyanın boş olup olmadığını test etmenin standart yolu şudur test -s FILE, ancak müşterilerimizden biri böyle testler içeren bir komut dosyası almıştır: RETVAL=`ls -s ./log/cr_trig.log | awk '{print $1}'` if test $RETVAL -ne 0 then echo "Badness: Log not empty" exit 25 fi tedarikçinin test ettikleri iki …

2
Değişkenleri kök etkinleştirilmiş komut dosyalarına güvenli bir şekilde nasıl aktarabilirim?
Bu soru tamamen genel ve sadece benim durumum için geçerli değildir, ama ... Kök olmayan bir kullanıcının kök ayrıcalıklarıyla belirli bir komut dosyasını yürütmesini istediğim küçük bir meşgul kutusu cihazım var. Örneğin $1, cmdline (!!) üzerinde gönderilecek tek değişkenin ( ) hangi ana bilgisayar adı gönderileceği DHCP'yi etkinleştirmek için bu …



1
Bir Python betiği başladığında Virtualenv nasıl etkinleştirilir?
Belirli tarihlerde cron kullanarak çalıştırmak için bir python komut dosyası zamanlamak istiyorum, sorun, example.pyçalışmak example-enviçin etkinleştirilmesi gerekiyor, example.pycron her yürüttüğünde kendi virtualenv etkinleştirmek için bir yolu var mı? değilse, o zaman bash.shiçeren bir bash betiği oluşturmak zorunda mıyım #!/usr/bin/env bash workon example-env python2 example.py ve sonra bunu cron tarafından belirli …

1
Çocuğumun PGID'si neden ebeveynin PID'sini işlemiyor?
Bu nedenle, bu komutun üst sürecin tüm alt süreçlerini sonlandırması gereken her yerde okumaya devam ediyorum: kill -- -$$ Kill komutuyla negatif bir kimlik kullanmak bir PGID'ye başvurur ve gördüğüm örneklerden, alt işlemlerin PGID'sinin ebeveynin PID'si olması gerekir, ancak sistemimde durum böyle değildir. Sistemimde, çocuğun PGID'si, bash olduğu ortaya çıkan …

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.