Pytania otagowane jako shell-script

Pytania dotyczące skryptów powłoki, plików wykonywalnych interpretowanych przez powłokę (bash, zsh itp.).


3
Co w tym kontekście oznacza {1: 0: 2} $?
Szukam do kodu wyświetlane poniżej i sprawdza dane wejściowe jeśli argumenty wiersz / kolumna zacząć albo -rlub -c. Co ${1:0:2}znaczy w tym kontekście? rowArgName="-r" colArgName="-c" if [ "${1:0:2}" != $rowArgName ] && [ "${1:0:2}" != $colArgName ] then echo $correctCmdMsg >&2 exit 1 fi


2
Jak ls bez rekurencji
Próbuję ls jakieś pliki ze wzorem w katalogu. Chcę tylko zeskanować pierwszy poziom, a nie rekurencyjny. Mój skrypt: for i in $(ls $INCOMINGDIR/*$BUSSINESSDATE*) do echo $i; done Powyższe polecenie skanuje rekurencyjnie. Jak to zrobić, aby skanować tylko katalog pierwszego poziomu?
19 bash  shell-script  ls 

9
Sprawdź, czy ustawiono wiele zmiennych
Chciałbym się upewnić, że w pewnym momencie skryptu, po sourcewczytaniu pliku konfiguracyjnego, ustawionych jest kilka zmiennych, a jeśli tak nie jest, zatrzymanie wykonywania, informowanie użytkownika o brakującej zmiennej. próbowałem for var in $one $two $three ; do ... ale jeśli na przykład $twonie jest ustawiony, pętla nigdy nie zostanie wykonana …

8
Unikanie zajętego czekania w mgnieniu oka, bez komendy uśpienia
Wiem, że mogę czekać na spełnienie warunku bash, wykonując: while true; do test_condition && break sleep 1 done Ale tworzy 1 podproces przy każdej iteracji (uśpieniu). Mogłem ich uniknąć, wykonując: while true; do test_condition && break done Ale zużywa dużo procesora (zajęte oczekiwanie). Aby uniknąć podprocesów i zajętego czekaniem, wymyśliłem …


2
Jak mogę sprawdzić, czy aplikacja istnieje w $ PATH?
Próbuję napisać wszystkie moje shskrypty startowe / env do pracy z tak dużą ilością OSUSZANIA i jak najwięcej: „działa na każdym * nix, w którym go klonuję”, jak to możliwe. Oznacza to upewnienie się, że jeśli spróbuję uruchomić kod, którego tam nie ma, kod nie działa płynnie. W tym celu …


4
Czy rozsądnym podejściem jest „tworzenie kopii zapasowej” zmiennej $ IFS?
Zawsze jestem bardzo niezdecydowany, żeby się z $IFStym pogodzić, ponieważ jest to globalny problem. Ale często sprawia, że ​​ładowanie ciągów do tablicy bash jest przyjemne i zwięzłe, a dla skryptów bash trudno jest uzyskać zwięzłość. Myślę więc, że może być lepsze niż nic, jeśli spróbuję „zapisać” początkową zawartość $IFSinnej zmiennej, …

8
Wywoływanie wielu skryptów bash i uruchamianie ich równolegle, a nie po kolei
Załóżmy, że mam trzy (lub więcej) skrypty bash: script1.sh, script2.sh, i script3.sh. Chciałbym wywołać wszystkie trzy skrypty i uruchomić je równolegle . Jednym ze sposobów jest wykonanie następujących poleceń: nohup bash script1.sh & nohup bash script2.sh & nohup bash script3.sh & (Ogólnie rzecz biorąc, skrypty mogą potrwać kilka godzin lub …

6
Jak mogę wydrukować tylko niektóre polecenia ze skryptu bash podczas ich uruchamiania?
Mam skrypt bash z różnymi instrukcjami if opartymi na argumentach wiersza poleceń, które przekazuję podczas jego wywoływania. Posiadanie pewnego rodzaju danych wyjściowych dotyczących uruchamianych poleceń jest pomocne w potwierdzeniu przepływu przez wszystkie instrukcje if, ale moje obecne rozwiązanie daje mi zbyt wiele informacji. Używanie set -vw skrypcie było nieco pomocne …


2
Pomiń wyjście, chyba że niezerowy kod wyjścia
Jaki jest najlepszy sposób tłumienia wyjścia (stdout i stderr), chyba że program zakończy działanie z niezerowym kodem? Myślę: quiet_success() { file=$(mktemp) if ! "$@" > "$file" 2>&1; then cat "$file" fi rm -f "$file" } I biegnij, quiet_success my_long_noisy_script.shale nie jestem pewien, czy jest lepszy sposób. Wydaje mi się, że …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.