«bash» etiketlenmiş sorular

Diğer Bourne / POSIX mermilerinin aksine, GNU'dan Bourne Again SHell'e özgü sorular. Genel olarak Unix kabukları hakkında sorular için / shell etiketini kullanın.

3
Bir bash betiğinde / dev / stdout hedef konumu nasıl kaydedilir?
Ben /dev/stdout1 dosya tanımlayıcı diğer konum ile değiştirmeden önce orijinal konumunu korumak isteyen belirli bir bash komut dosyası var . Doğal olarak şöyle bir şey yazdım old_stdout=$(readlink -f /dev/stdout) Ve işe yaramadı. Çok çabuk sorunun ne olduğunu anlıyorum: test@ubuntu:~$ echo $(readlink -f /dev/stdout) /proc/5175/fd/pipe:[31764] test@ubuntu:~$ readlink -f /dev/stdout /dev/pts/18 Obvioulsly, …

1
Hata ayıklama için Bash değişkenlerinin genişlemesine bakın?
Bask kodunun okunmasını kolaylaştırmak için değişkenleri genişletmek için kullanılabilecek herhangi bir araç / püf noktası var mı? Örneğin, aşağıdakileri dönüştürür: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} için: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file BASH kodunu Python'a dönüştürüyorum ve BASH sözdizimini okuyorum.


4
kabuk betiğinde logrotate nasıl uygulanır
test.sh #!/bin/bash echo "Hello World" test2.sh #!/bin/bash while true do sh test.sh >> /script_logs/test.log & done Günlük dosyası boyutunu kontrol etmek için logrotate uygulamak istiyorum, bu yüzden durum yukarıdaki gibi ise logrotate nasıl uygulanır?

1
Harici komut yerine bash'de yerleşik “time” komutunu kullanma
Komutla çalışırken , harici GNU zaman komutundan ziyade timeyerleşik olanı kullanmam gereken bir durumla karşılaştım . Peki, bunu nasıl yapabilirim? Ben kullanarak ve / veya yardımcı olacağını bir yerde gördüm , ama etmedi.time/usr/bin/timeenablecommand Bu bir kullanım örneğidir: watch "time ls" hangi harici /usr/bin/timekomut kullanır, ben istemiyorum! Bu , böyle bir …

4
bash dinamik (değişken) değişken adları
Dinamik olarak öğeleri bir dizi manipüle ve bazı aritmetik yordamı oluşturmak için dizeleri bir dizi oluşturmak istiyorum. for name in FIRST SECOND THIRD FOURTH FIFTH; do $name = $(( $6 + 1 )) $name = "${$name}q;d" echo "${$name}"; printf "\n" done Arzu $6eşitliği için aşağıdaki sonuç olacaktır 0. 1q;d 2q;d …
12 bash  variable 

2
`Cd` için komut tamamlama yalnızca dizinleri gösterecek ve dosyaları yok sayacak şekilde değiştirilebilir mi?
Bash içindeki bir dizindeyken ve tuşuna bastığımda, cd Space Tabdizindeki her şeyi bir olasılık olarak gösterir. ( Show all 1000 possibilities?) Ben çok düzenli dosyaları ve nispeten az dizinleri olan bir dizindeyken bu gerçekten hantal. Peki, otomatik tamamlama seçimlerini cdyalnızca dizinleri içerecek şekilde yapmak mümkün müdür? Bunu yaparak bir dizin …


3
İçindeki bir komutla bir cümleyi nasıl devam ettirirsin
Örneğin, senaryo dosyamda "Şu anda çevrimiçi 10 kişi var" demeye çalışıyorum. Bir sonraki satırda "Şu anda çevrimiçi insanlar" bölümü olmadan komutun çalışmasını asla sağlayamıyorum. Şu anda sahibim w='who | wc -l' echo "There are $w people online at the moment" Ancak, her zaman çıktı ile sonuçlanırım There are who | …
12 bash  scripting 


2
Parametre listesini oluşturmak için kullanılan bash dizesi birleştirme
Bu bash parçası verildiğinde: PARMS='-rvu' PARMS+=" --delete --exclude='.git'" echo $PARMS rsync ${PARMS} . ${TARGET} Yankı PARMS dizesini beklendiği gibi gösterir, hiçbir hata görüntülenmez, ancak rsync sessizce + = tarafından eklenen seçenekler mevcut değil gibi davranır. Ancak, bu beklendiği gibi çalışır: PARMS='-rvu' rsync ${PARMS} --delete --exclude='.git' . ${TARGET} Sanırım bash tırnaklarla …

6
Kabuk değişkenini bash veya zsh olarak seri hale getirme
Bir kabuk değişkenini serileştirmenin herhangi bir yolu var mı? Bir değişkenim olduğunu varsayalım $VARve bunu bir dosyaya veya her neyse kaydedebiliyorum ve sonra aynı değeri geri almak için daha sonra tekrar okumak istiyorum. Bunu yapmanın taşınabilir bir yolu var mı? (Ben öyle düşünmüyorum) Bunu bash veya zsh ile yapmanın bir …
12 bash  shell  zsh  variable 


7
Ls komutundan klasör önekini kaldırmak mümkün mü
Bir bash betiğindeyim ve tüm dosyaların listesini almak istiyorum (tüm jar dosyalarını söyleyelim). Komutu çalıştırıyorum ls -1 lib/*.jarve çıktıyı alıyorum: lib/mylib_1.jar lib/mylib_2.jar ... Aşağıdaki çıktıya sahip olmak için herhangi bir seçenek var mı: mylib_1.jar mylib_2.jar ... Daha cd libönce yapmak bir döngüde olduğum ve döngü içinde yapmak istediğim işlemler için …
12 bash  shell  directory  ls 

5
Pipo yazmayı bozmadan bir dosyayı boşaltma
Ben çıktı bir günlük dosyasına yönlendirme bir program var: ./my_app > log Günlüğü zaman zaman temizlemek (yani boş) (istek üzerine) ve çeşitli şeyleri denemek istiyorum cat "" > log Ancak, orijinal boru her zaman kesintiye uğramış gibi görünüyor ve program artık çıktısını günlük dosyasına yönlendirmiyor. Bunu yapmanın bir yolu var …

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.