natknąłem skrypt powłoki, która zawiera oświadczenie jak,
if [ $val -eq $? ]
Co $?
tu na myśli?
natknąłem skrypt powłoki, która zawiera oświadczenie jak,
if [ $val -eq $? ]
Co $?
tu na myśli?
$?
zwraca status ostatnio wykonanego polecenia. Status 0 mówi ci, że wszystko skończyło się dobrze.
Ponadto znak $
jest specjalnym symbolem - iw tym przypadku $val
wyodrębnić wartość, która jest utrzymywana przez zmienną val
Jest to wartość statusu wyjścia poprzedniego polecenia. To jest 0
w przypadku powodzenia.
Co robi $? znaczy tutaj?
$? jest ostatnim rezultatem wyjścia statusie ... 0 jest domyślnie „udana”
bash# ls *.*
bash# echo $?
bash# 0
bash# ls /tmp/not/existing/
bash# echo $?
bash# 2
$#
= liczba argumentów. Odpowiedź brzmi: 3
.
[email protected]
= jakie parametry zostały przekazane. Odpowiedzią jest 1 2 3
.
$?
= Ostatnia operacja zakończyła się pomyślnie. Odpowiedź brzmi: 0
, co oznacza "tak".
Może to nie powinno mi przeszkadzać, ale fakt, że "0 == True" naprawdę miażdży mój sprzęt. – jmracek
Znalazłem, że link jest bardzo przydatny i jest świetną odpowiedzią. Zawiera wyraźne wyrażenie z próbką.
ls *.*
lub ls
że ten sam wynik. Znaczenie pokazuje zero lub więcej plików z dowolnym rozszerzeniem w bieżącym katalogu.
echo $?
wyświetli stan wyjścia. Jeśli co najmniej jeden plik zostanie wyświetlony z ostatniego polecenia, stanem wyjścia będzie zero (powodzenie).
Niepoprawnie: 'ls *. *' Odfiltruje zawartość bieżącego katalogu i wyświetli tylko pliki i katalogi zawierające kropkę; dla katalogów wyświetli zawartość (może zależeć od implementacji). Spójrz również na następujące polecenie 'test mkdir && test && ls; echo" $? "Zwróci 0. Jednakże,' mkdir -m -r wo_dir && cd wo_dir && echo "test"> 1.txt && ls; echo "$?" 'zwróci 1, z komunikatem' ls:.: Permission denied' nawet jeśli plik zostanie utworzony. – artdanil
[tutaj jest odpowiedź] [1], który można dopasować do kwestionujesz [1]: http://stackoverflow.com/questions/7101995/what-does-if-eq-0- skrypty średnie-na-powłoki? answerertab = aktywny # tab-top –
możliwy duplikat [Jakie są specjalne zmienne powłoki znaku dolara?] (http://stackoverflow.com/questions/5163144/what-are-the-special -dollar-sign-shell-variables) – hammar