Per fare una se-clausola Sh
-
13-09-2019 - |
Domanda
Ho il seguente in un file che è di provenienza sia da .bashrc e .zshrc. La sintassi è dal sito noreferrer">
Soluzione È necessario avvolgere la condizione in l'operatore di prova (così come le citazioni per ottenere l'abitudine): In shell: In bash: #!/bin/sh
if [ "$SHELL" = "/bin/zsh" ]; then
# do your thing
fi
#!/bin/bash
if [ "$SHELL" == "/bin/zsh" ]; then
# just do it!
fi
Altri suggerimenti
È necessario il comando test
alias [
:
if [ "$SHELL" = "/bin/zsh" ]
then
myclasslist () { reply=(${$(ls *.class)%.class}) }
compctl -K myclasslist java
fi
Sul sito web si parla, non si usa l'operatore di test ([]) perché dicono:
Per esempio, gatto restituisce 0 se funziona con successo, e 1 se incontra un errore
Il caso deve essere seguito da una "dichiarazione booleana" e se questa dichiarazione restituisce 0, il "poi" è in realtà eseguita ...
Nel vostro caso, la risposta di Seth è quello che stai cercando.