#bash #shell #command-line-arguments
#bash #оболочка #аргументы командной строки
Вопрос:
Я пытаюсь создать функцию bash, которая будет использоваться less
для применения шаблона и следования за файлом, используя аргумент, переданный функции
my_less_function() {
if [ -z "$1" ]
then
# if no arg
less F /var/log/my.log
else
# else, filter out the arg
less
моя проблема в том, что я не могу заставить аргумент правильно заменить в блоке else
my_less_function MY_VALUE
отображается Non-match amp;/MY_VALUEnF
в меньшем
похоже, что он объединяет аргумент и nF
, но nF
должен запускать команду follow вместо того, чтобы интерпретироваться как часть аргумента
есть идеи?
Ответ №1:
неправильно : less $'amp;!'$1'nF' /var/log/my.log
правильно : less $'amp;!'${1}$'nF' /var/log/my.log
amp;!'$1'nF' /var/log/my.log
fi
}
моя проблема в том, что я не могу заставить аргумент правильно заменить в блоке else
my_less_function MY_VALUE
отображается Non-match amp;/MY_VALUEnF
в меньшем
похоже, что он объединяет аргумент и nF
, но nF
должен запускать команду follow вместо того, чтобы интерпретироваться как часть аргумента
есть идеи?
Ответ №1:
неправильно : less $'amp;!'$1'nF' /var/log/my.log
правильно : less $'amp;!'${1}$'nF' /var/log/my.log