Композиция команд
Последовательное выполнение команд
Последовательно выполнить несколько команд.
Для отделения команд используется символ ";"
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?