Привет просто задавшись вопросом об использовании &&
и { }
в этом примере вниз ниже, делает это означает это, если Вы используете &&
и следуйте {
Вы пишете сценарий оболочки, не имея необходимость создавать тот перед рукой?Заранее спасибо
$ mkdir -p lpi103-7 && cd lpi103-7 && {
> echo -e "1 apple\n2 pear\n3 banana" > text1
> echo -e "9\tplum\n3\tbanana\n10\tapple" > text2
> echo "This is a sentence. " !#:* !#:1->text3
echo "This is a sentence. " "This is a sentence. " "This is a sentence. ">text3
> split -l 2 text1
> split -b 17 text2 y;
> cp text1 text1.bkp
> mkdir -p backup
> cp text1 backup/text1.bkp.2
> }
&&
нотация является булевым оператором для И, что означает, что она использует результат предыдущей команды и только выполняет следующую команду, если код выхода от первой команды 0.
, Таким образом, это - стенография для:
ls a &> /dev/null && echo "Done"
это, которое в основном делает то же самое.
ls a &> /dev/null
if [ $? = 0 ]; then
echo "Done"
fi
эти {
для группировки команд для выполнения, таким образом, это:
ls a &> /dev/null && {
echo "This will happen if"
echo "ls command returns 0"
}
стенография для этого:
ls a &> /dev/null
if [ $? = 0 ]; then
echo "This will happen if"
echo "ls command returns 0"
fi
можно также сделать то же с ИЛИ ||
оператор, таким образом, Вы еще добираетесь часть если также. Как это
ls a &> /dev/null && echo "Done" || echo "No can do!"
И также комбинируют его с группировкой команд:
ls a &> /dev/null && {
echo "This will happen if"
echo "ls command returns 0"
} || {
echo "This will happen if"
echo "ls command returns other than 0"
}
Сценарии являются файлами, который содержит много команд Unix, можно или создать файл, содержащий команды, или записать те команды в Терминале непосредственно в {}.
& & используется для выполнения другой команды после предыдущей команды.
В Вас пример,
mkdir -p lpi103-7
создает каталог с lpi103-7
имени, и
cd lpi103-7
используется для изменения текущего каталога на lpi103-7
, когда Вы используете
&&
, это выполняется команда mkdir, сопровождаемая команда
cd &&
оператор выполняет оператор направо только если тот, за которым налево следуют. Так mkdir -p lpi103-7
(создают lpi103-7 каталог) на первом месте, если успешно выполняется, мы переходим в cd lpi103-7
(перейдите к тому каталогу), и если это будет успешно, мы перейдем к следующему блоку операторов