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

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


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

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

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

2
Как перебрать строки файла?
Скажи, у меня есть этот файл: 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итерацию по каждой строке, игнорируя при этом пробельные символы, то есть последние две строки …

4
Проверить, содержит ли строка подстроку
У меня есть код 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 == *_$testseq_* ]]; then echo "True" else echo "False" …

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

8
Как поменять цикл for?
Как правильно сделать forцикл в обратном порядке? for f in /var/logs/foo*.log; do bar "$f" done Мне нужно решение, которое не ломается от прикольных символов в именах файлов.

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

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


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

2
Запрос пользовательского ввода при чтении файла построчно
Для класса мне нужно написать Bash-скрипт, который будет принимать выходные данные, ispellи когда я пытаюсь запросить пользовательский ввод внутри цикла while, он просто сохраняет следующую строку файла как пользовательский ввод. Как я могу запросить ввод пользователя в цикле while? #!/bin/bash #Returns the misspelled words #ispell -l < file #define vars …


1
Самый эффективный способ запустить 2 цикла
В настоящее время я использую два разных whileцикла для запуска моего оконного менеджера dwm и строки состояния, которая выводит на него системную информацию. Мое решение на данный момент состоит в том, чтобы запустить их последовательно в одном и том же сценарии, например так: while true; do $HOME/Scripts/dwm-status sleep 2s done …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.