Pytania otagowane jako shell-script

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


1
W skrypcie bash, używając warunkowego „lub” w instrukcji „if”
To pytanie jest kontynuacją mojego wcześniejszego pytania . Użytkownicy tej witryny uprzejmie pomogli mi ustalić, jak napisać forpętlę bash , która będzie iterować po wartościach ciągu. Załóżmy na przykład, że zmienna sterująca pętli fnameiteruje po łańcuchach "a.txt" "b.txt" "c.txt". Chciałbym echo„tak!” kiedy fnamema wartość "a.txt"lub "c.txt"i echo„nie!” Inaczej. Próbowałem następującego …
127 bash  shell-script 

1
Kiedy konieczne jest podwójne cytowanie?
Dawna rada polegała na podwójnym cytowaniu dowolnego wyrażenia obejmującego $VARIABLE, przynajmniej jeśli ktoś chciałby, aby był interpretowany przez powłokę jako pojedynczy element, w przeciwnym razie wszelkie spacje w treści $VARIABLEzrzucałyby powłokę. Rozumiem jednak, że w nowszych wersjach powłok podwójne cytowanie nie jest już zawsze potrzebne (przynajmniej w celu opisanym powyżej). …


4
Jaki jest cel używania shift w skryptach powłoki?
Natknąłem się na ten skrypt: #! /bin/bash if (( $# < 3 )); then echo "$0 old_string new_string file [file...]" exit 0 else ostr="$1"; shift nstr="$1"; shift fi echo "Replacing \"$ostr\" with \"$nstr\"" for file in $@; do if [ -f $file ]; then echo "Working with: $file" eval "sed …

7
Używanie nierównomiernego operatora do porównywania ciągów
Próbowałem sprawdzić, czy PHONE_TYPEzmienna zawiera jedną z trzech prawidłowych wartości. if [ "$PHONE_TYPE" != "NORTEL" ] || [ "$PHONE_TYPE" != "NEC" ] || [ "$PHONE_TYPE" != "CISCO" ] then echo "Phone type must be nortel,cisco or nec" exit fi Powyższy kod nie działał dla mnie, więc zamiast tego spróbowałem: if …


3
Jak mogę wykonać skrypt lokalny na zdalnym komputerze i dołączyć argumenty?
Napisałem skrypt, który działa poprawnie, gdy jest wykonywany lokalnie: ./sysMole -time Aug 18 18 Argumenty „-time” , „Aug” , „18” i „18” są pomyślnie przekazywane do skryptu. Teraz ten skrypt został zaprojektowany do działania na komputerze zdalnym, ale z lokalnego katalogu na komputerze lokalnym. Przykład: ssh root@remoteServer "bash -s" < …


8
Przekazywanie nazwanych argumentów do skryptów powłoki
Czy jest jakiś prosty sposób na przekazanie (odbiór) nazwanych parametrów do skryptu powłoki? Na przykład, my_script -p_out '/some/path' -arg_1 '5' I w środku my_script.shotrzymuj je jako: # I believe this notation does not work, but is there anything close to it? p_out=$ARGUMENTS['p_out'] arg1=$ARGUMENTS['arg_1'] printf "The Argument p_out is %s" "$p_out" …




10
Równoległa pętla Bash FOR
Próbowałem zrównoleglić następujący skrypt, a konkretnie każdą z trzech instancji pętli FOR, używając GNU Parallel, ale nie byłem w stanie. 4 polecenia zawarte w pętli FOR działają szeregowo, każda pętla zajmuje około 10 minut. #!/bin/bash kar='KAR5' runList='run2 run3 run4' mkdir normFunc for run in $runList do fsl5.0-flirt -in $kar"deformed.nii.gz" -ref …

13
Dekodowanie Kodowanie URL (kodowanie procentowe)
Chcę zdekodować kodowanie adresu URL. Czy jest do tego jakieś wbudowane narzędzie, czy ktoś może dostarczyć mi sedkod, który to zrobi? Szukałem trochę w unix.stackexchange.com i w Internecie, ale nie mogłem znaleźć żadnego narzędzia wiersza poleceń do dekodowania kodowania URL. Chcę po prostu edytować txtplik, aby: %21 staje się ! …

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.