Запитання з тегом «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 "both tests are true" …

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ітерація над кожним рядком була окремо ігнорована пробілами, тобто останні два рядки слід замінити на tester: …

3
Перевірте, чи містить рядок підрядку
У мене є код 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 …

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


2
Bash цикл "for" без частини "в 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 у фоновому режимі, щоб команда [«спати 3» - лише приклад] виконувалась у стилі «паралель», тому вона закінчується швидше. Але я отримую це: bash: syntax error near unexpected token `;' …

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


1
Найефективніший спосіб запуску 2 циклів
В даний час я використовую дві різні whileпетлі для запуску вікна-менеджера, dwm та рядка стану, який друкує інформацію про нього. Наразі моє рішення - запустити їх послідовно за тим же сценарієм, як: while true; do $HOME/Scripts/dwm-status sleep 2s done & while true; do dwm >/dev/null done Я також бачив, як …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.