Вообще, мне интересно, как я могу передать аргументы из терминальной команды в стандартный вывод. Более конкретно, я использую tar как часть моего процесса резервного копирования, и я хотел бы, чтобы параметры (особенно исключенные каталоги) были переданы в файл журнала. Для исключенных dirs я попробовал tar --show-omitted-dirs
, но это не сработало, как я думал.
Я новичок в работе со скриптами bash, но я прочитал о "$ @" и решил, что могу написать свою собственную функцию
myLS() { echo "$@"; ls "$@"; }
сначала вывести команды на стандартный вывод, а затем передать их ls
. echo
труб
myLS() { echo "$@" | tr " " "\n"; ls "$@"; }
или используя printf
myLS() { printf '%s\n' "$@"; ls "$@"; }
разделяет эти аргументы на новые строки, что я и хотел бы получить поверх файла журнала.
Хотя это работает, мне любопытно, есть ли предпочтительный способ сделать это, который не требует, чтобы я переписывал свою собственную функцию каждый раз, когда я хочу вести журнал аргументов, которые я использовал при выполнении команды. Как общее решение, так и решения, специфичные для tar
, полезны.