Co to -x
znaczy tutaj:
if [ -x /etc/rc.local ] then
Jak mogę znaleźć tę stronę podręcznika if
?
command-line
bash
taymindis Woon
źródło
źródło
help if
?Odpowiedzi:
Ze
man bash
stron (szczególnie sekcja WYRAŻENIA WARUNKOWE):źródło
test
bash, nie wywołujesz plikutest
binarnego. Zamiast tegotest
wywołujesz wbudowane bash , które ma dokumentacjęhelp test
między innymi.man test
z tego powodu może wprowadzać w błąd w niektórych przypadkach.if
samo w sobie jest słowem kluczowym powłoki, więc możesz znaleźć informacje na jego temathelp if
.if
sam rozgałęzia się tylko na podstawie tego, czy następne polecenie zwraca true (0) czy false (nie zero). Tym, czego naprawdę chcesz, jestman [
lubman test
, gdzie[
jest aliastest
. Ta instrukcja faktycznie wykonuje siętest -x /etc/rc.local
, która sprawdza, czy plik istnieje i jest wykonywalny (lub ma uprawnienia do wyszukiwania).źródło
man [
też działa.if
nie jest wbudowaną powłoką, to słowo kluczowe powłoki. Uruchom to polecenie,type if
aby to sprawdzić.Od
info test
:Wymagane jest zezwolenie na wykonanie katalogu, aby móc w nim cd (tzn. Aby jakiś katalog stał się bieżącym katalogiem roboczym).
Aby uzyskać dostęp do informacji o „i-węzłach” plików w katalogu, konieczne jest wykonanie. Potrzebujesz tego do przeszukiwania katalogu w celu odczytania i-węzłów plików w nim zawartych. Z tego powodu uprawnienie do wykonywania katalogu jest często nazywane zamiast tego uprawnieniem do wyszukiwania.
źródło