Как я могу сделать это, если работа в Bash? - PullRequest
4 голосов
/ 24 марта 2010

В bash, как мне заставить такую ​​конструкцию работать так:

if (cp /folder/path /to/path) && (cp /anotherfolder/path /to/anotherpath)
then
  echo "Succeeded"
else
  echo "Failed"
fi

Если должен проверить на $? код возврата каждой команды и свяжите их с &&.

Как я могу сделать это в Bash?

Ответы [ 3 ]

13 голосов
/ 24 марта 2010
if cp /folder/path /to/path /tmp && cp /anotherfolder/path /to/anotherpath ;then
  echo "ok"
else
  echo "not"
fi
8 голосов
/ 24 марта 2010
cp /folder/path /to/path && cp /anotherfolder/path /to/anotherpath
if [ $? -eq 0 ] ; then
    echo "Succeeded"
else
    echo "Failed"
fi
2 голосов
/ 24 марта 2010

Другой способ:

cp /folder/path /to/path && cp /anotherfolder/path /to/anotherpath && {
  echo "suceeded"
} || {
  echo "failed"
}

Я проверял это:

david@pcdavid:~$ cp test.tex a && cp test.aux b && { echo "haha"; } || { echo "hoho"; }
haha
david@pcdavid:~$ cp test.ztex a && cp test.aux b && { echo "haha"; } || { echo "hoho"; }
cp: cannot stat `test.ztex': No such file or directory
hoho
david@pcdavid:~$ cp test.tex a && cp test.zaux b && { echo "haha"; } || { echo "hoho"; }
cp: cannot stat `test.zaux': No such file or directory
hoho
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...