Лучше использовать строку хижины для выполнения сценария?

Это не возможно. Нет никакого способа узнать, куда изменения переменной среды произошли от после факта.

Вы могли ввести некоторых echo команды, которые отобразили бы название файла как изменения, делаются, но изменения не прослежены, относительно которого файл внес конкретное изменение.

2
03.02.2015, 21:22
2 ответа

Должно быть довольно просто:

awk '$1==$2{$2=""}1' file

Сначала проверяем, равен ли первый столбец второму ( $1 = = $2 ) и если результат положительный, то удаляем второй столбец ( $2 = «» ). Final 1 просто печатает все.

-121--175118-

Для записи и воспроизведения сеанса CLI можно использовать скрипт и скрипт . Он уже должен быть в вашей системе как часть util-linux. Однако он не предлагает функций воспроизведения/паузы.

script -t 2> timefile

для запуска записи (введите «выход» для остановки записи) с использованием имени файла по умолчанию typescript и временного файла синхронизации

scriptreplay timefile

Для воспроизведения сеанса.

-121--133642-

Я бы сказал, что да, лучше использовать шебанг.

Pro:

Если поместить все сценарии в $ PATH (может быть, /usr/local/bin или ~/bin ) и пометить их как исполняемые, то можно выполнить их по имени, не думая о том, какой интерпретатор нужно вызвать (bash, Python, Ruby, Perl и т. д.).

При размещении исполняемого файла foo с shebang в любом месте $ PATH можно просто ввести foo для его выполнения.

Con:

Необходимо ввести # !/bin/bash вверху и chmod + x файла.

Это почти нулевая стоимость для очень удобного возврата.

5
27.01.2020, 21:56

Основная причина использования hashbang определяет точный переводчик, который вы хотите использовать. При написании портативных сценариев оболочки приятно, каждый часто опирается на некоторые особенности определенной оболочки (слово «Басизм» имеет основу в реальном мире) и поэтому желательно прояснить, что должно быть устный переводчик.

Это также не ограничено Shell только скрипты - во всем, кроме скрипта оболочки Hashbang является обязательным, в противном случае система не будет знать, что делать с файлом и попытается интерпретировать Сценарий с оболочкой пользователя по умолчанию. Что обычно не является желаемой операцией для awk, perl, python, ruby, tcl / tk ... вы называете его. На самом деле AWK - это еще один пример того, почему Hasbang важен - существуют тонкие различия между различными реализациями, и требует определенного переводчика может быть хорошим способом предотвращения неожиданных разочарований. То же самое касается сценариев Python, которые являются только версией 2/3.

0
27.01.2020, 21:56

Теги

Похожие вопросы