Основной Shell, программируя вопрос с && {

Привет просто задавшись вопросом об использовании && и { } в этом примере вниз ниже, делает это означает это, если Вы используете && и следуйте { Вы пишете сценарий оболочки, не имея необходимость создавать тот перед рукой?Заранее спасибо

$ 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
задан 4 March 2015 в 10:20

3 ответа

&& нотация является булевым оператором для И, что означает, что она использует результат предыдущей команды и только выполняет следующую команду, если код выхода от первой команды 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"
}
2
ответ дан 3 August 2019 в 13:53

Сценарии являются файлами, который содержит много команд Unix, можно или создать файл, содержащий команды, или записать те команды в Терминале непосредственно в {}.

& & используется для выполнения другой команды после предыдущей команды.

В Вас пример,

mkdir -p lpi103-7

создает каталог с lpi103-7

имени, и

cd lpi103-7

используется для изменения текущего каталога на lpi103-7

, когда Вы используете

&&

, это выполняется команда mkdir, сопровождаемая команда

cd
1
ответ дан 3 August 2019 в 13:53

&& оператор выполняет оператор направо только если тот, за которым налево следуют. Так mkdir -p lpi103-7 (создают lpi103-7 каталог) на первом месте, если успешно выполняется, мы переходим в cd lpi103-7 (перейдите к тому каталогу), и если это будет успешно, мы перейдем к следующему блоку операторов

1
ответ дан 3 August 2019 в 13:53

Другие вопросы по тегам:

Похожие вопросы: