Это не возможно. Нет никакого способа узнать, куда изменения переменной среды произошли от после факта.
Вы могли ввести некоторых echo
команды, которые отобразили бы название файла как изменения, делаются, но изменения не прослежены, относительно которого файл внес конкретное изменение.
Должно быть довольно просто:
awk '$1==$2{$2=""}1' file
Сначала проверяем, равен ли первый столбец второму ( $1 = = $2
) и если результат положительный, то удаляем второй столбец ( $2 = «»
). Final 1
просто печатает все.
Для записи и воспроизведения сеанса 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
файла.
Это почти нулевая стоимость для очень удобного возврата.
Основная причина использования hashbang определяет точный переводчик, который вы хотите использовать. При написании портативных сценариев оболочки приятно, каждый часто опирается на некоторые особенности определенной оболочки (слово «Басизм» имеет основу в реальном мире) и поэтому желательно прояснить, что должно быть устный переводчик.
Это также не ограничено Shell только скрипты - во всем, кроме скрипта оболочки Hashbang является обязательным, в противном случае система не будет знать, что делать с файлом и попытается интерпретировать Сценарий с оболочкой пользователя по умолчанию. Что обычно не является желаемой операцией для awk, perl, python, ruby, tcl / tk ... вы называете его. На самом деле AWK - это еще один пример того, почему Hasbang важен - существуют тонкие различия между различными реализациями, и требует определенного переводчика может быть хорошим способом предотвращения неожиданных разочарований. То же самое касается сценариев Python, которые являются только версией 2/3.