Jak podzielić polecenie na wiele linii w powłoce, gdy polecenie jest częścią instrukcji if
?Jak mogę podzielić polecenie powłoki na wiele linii, używając instrukcji IF?
Chociaż to działa:
if ! fab --fabfile=.deploy/fabfile.py --forward-agent --disable-known-hosts deploy:$target; then rc=1
fi
To nie działa:
# does not work:
if ! fab --fabfile=.deploy/fabfile.py \
--forward-agent \
--disable-known-hosts deploy:$target; then
rc=1
fi
Zamiast cała komenda wykonanie, otrzymuję:
./script.sh: line 73: --forward-agent: command not found
Co ważniejsze, czego brakuje z mojego rozumienia Bash, które pomoże mi zrozumieć te i podobne problemy w przyszłości?
Jaki jest błąd? Mogę wykonać '$ if! cp -n log/server1.log \ >.; następnie echo bez kopii; fi' bez błędu, z znakiem nowej linii po '\' –
Czy masz spacje za końcowym ukośnikiem odwrotnym '\'? Są dość trudne do zobaczenia. Jeśli tak, możesz chcieć, aby twój edytor usunął spacje końcowe lub uczynił je bardziej widocznymi. – msw
Tak, było to spacje po końcowych ukośnikach odwrotnych. Całkowicie. Dziękuję Ci. –