Вопросы с тегом «control-flow»

Поток управления относится к порядку, в котором выполняется компьютерный код при запуске программы или сценария. Примеры включают циклы (код повторяется) и условные выражения, в которых одна ветвь выполняется вместо другой. Используйте этот тег для вопросов о потоке управления в скриптах или программах, а не для вопросов об управлении потоком через терминал.

249
Каковы операторы управления и перенаправления оболочки?

Я часто вижу онлайн-уроки, которые соединяют различные команды с разными символами. Например: command1 | command2 command1 & command2 command1 || command2 command1 && command2 Другие, кажется, соединяют команды с файлами: command1 > file1 command1 >> file1 Что это за вещи? Как...

94
Запутанное использование && и || операторы

Я скользя через /etc/rc.d/init.d/sendmailфайл (я знаю , что это вряд ли когда - либо использовал, но я учусь на экзамен), и я стал немного запутался о &&и на ||операторах. Я читал, где они могут быть использованы в таких заявлениях, как: if [ test1 ] && [ test2 ]; then echo "both...

74
Нажмите пробел, чтобы продолжить

Как остановить скрипт bash, пока пользователь не нажал Space? Я хотел бы иметь вопрос в моем сценарии Нажмите пробел, чтобы продолжить, или CTRL+, Cчтобы выйти и затем скрипт должен остановиться и ждать, пока не будет нажата клавиша...

61
Как перебрать строки файла?

Скажи, у меня есть этот файл: hello world hello world Эта программа #!/bin/bash for i in $(cat $1); do echo "tester: $i" done выходы tester: hello tester: world tester: hello tester: world Я хотел бы иметь forитерацию по каждой строке, игнорируя при этом пробельные символы, то есть последние две...

42
Проверить, содержит ли строка подстроку

У меня есть код file="JetConst_reco_allconst_4j2t.png" if [[ $file == *_gen_* ]]; then echo "True" else echo "False" fi Я проверяю, fileсодержит ли "gen". Выход «Ложь». Ницца! Проблема в том, когда я заменяю «gen» переменной testseq : file="JetConst_reco_allconst_4j2t.png" testseq="gen" if [[ $file...

27
Являются ли оператор if else логическим и && или || и где я должен предпочесть один другому?

Я узнаю о структурах принятия решений, и я столкнулся с этими кодами: if [ -f ./myfile ] then cat ./myfile else cat /home/user/myfile fi [ -f ./myfile ] && cat ./myfile || cat /home/user/myfile Они оба ведут себя одинаково. Есть ли какие-то преимущества в использовании одного способа из...

25
Bash цикл «for» без части «in foo bar…»

Недавно я смотрел на какой-то код, который смутил меня, потому что он работает, и я не ожидал этого. Код сводится к этому примеру #!/bin/bash for var; do echo "$var" done При запуске с аргументами командной строки выводит их $ ./test a b c a b c Это то, что является (для меня) неожиданным. Почему...

18
Зацикливание строк двух файлов параллельно [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он подходил для Unix и Linux Stack Exchange. Закрыто 5 лет назад . Цель сценария, который я создаю, - сравнить две серии файлов. Имена файлов сами хранятся в двух отдельных...

10
Отправить задачу на задний план в «если»

Почему это? if true; then sleep 3 &; fi bash: syntax error near unexpected token `;' Я хочу бежать sleep 3 в фоновом режиме, так что команда ["sleep 3" является просто примером] будет выполняться в стиле "paralell", поэтому она завершается быстрее. Но я получаю это: bash: syntax error near...

9
Самый эффективный способ запустить 2 цикла

В настоящее время я использую два разных whileцикла для запуска моего оконного менеджера dwm и строки состояния, которая выводит на него системную информацию. Мое решение на данный момент состоит в том, чтобы запустить их последовательно в одном и том же сценарии, например так: while true; do...

9
Запрос пользовательского ввода при чтении файла построчно

Для класса мне нужно написать Bash-скрипт, который будет принимать выходные данные, ispellи когда я пытаюсь запросить пользовательский ввод внутри цикла while, он просто сохраняет следующую строку файла как пользовательский ввод. Как я могу запросить ввод пользователя в цикле while? #!/bin/bash...

8
Проверка на наличие нескольких каталогов

Я хочу проверить наличие нескольких каталогов, скажем dir1, dir2и dir3в рабочем каталоге. У меня есть следующее if [ -d "$PWD/dir1" ] && [ -d "$PWD/dir2" ] && [ -d "$PWD/dir3" ]; then echo True else echo False fi Но я подозреваю, что есть более элегантный способ сделать это. Не...