Композиция команд

Последовательное выполнение команд

Последовательно выполнить несколько команд.

Для отделения команд используется символ ";"

touch aaa; sleep 5; touch bbb; sleep 5; touch ccc

Последовательное выполнение при успехе предыдущей операции

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

Для отделения команд используется конструкция "&&"

python prog_1.py && python prog_2.py && python prog_3.py

Вызов команды при возникновении ошибки

Выполнение команды в случае возникновения ошибки.

Если во время выполнения программ возникнет ошибка, то создаётся файл "myError.txt"

Для задания команды, выполняющейся в случае ошибки, используется конструкция "||"

python prog_1.py && python prog_2.py && python prog_3.py || touch myError.txt

Передача выходных данных команды на вход другой

Создадим файл "progA.py" со следующим содержимым:

print 64
print 123

Создадим файл "progB.py" со следующим содержимым:

x = int(input())
y = int(input())
z = x + y
print z

Сделаем так, чтобы выходные данные одной программы шли на вход другой программы.

python progA.py | python progB.py

Передача выходных данных в файл

Сохранить выходные данные команды в файл

python progA.py > my.txt

Сохранить названия файлов каталога в текстовый файл

ls -1 > kkk.txt

Запись выходных данных в конец файла

Добавить текущую дату и время в конец файла

date >> bbb.txt

Добавить список названий файлов каталога к концу текстового файла

ls -m >> qqq.txt

Использование содержимого файла в качестве входных данных

Создадим текстовый файл "myVars.txt" со следующим содержимым:

17
14

Сделаем так, чтобы содержимое файла шло на вход скрипта на python

python progB.py < myVars.txt

Сделать так, чтобы содержимое файла "myVars.txt" шло на вход скрипта на python.

Результат работы скрипта должен сохраняться в файл "myResult.txt".

python progB.py < myVars.txt > myResult.txt

Одновременный вывод в файл и консоль

Вывод результата работы команды "ls" в консоль и в текстовый файл

ls | tee my.txt

Last updated

Was this helpful?