У меня есть такой скрипт
export pipedargument="| sort -n"
ls $pipedargument
Но это дает ошибку
ls: |: No such file or directory
ls: sort: No such file or directory
Кажется, это воспринимает содержание "| sort -n"
как просто аргумент, переданный ls
.
Как я могу избежать этого, чтобы он воспринимался как обычная команда?
Я пытаюсь условно установить $pipedargument
. Я думаю, что я мог бы просто условно выполнить разные версии команды, но все еще задаюсь вопросом, есть ли способ заставить эту работу как выше?
Вы можете
eval
использовать команду:или даже лучше определить функцию как:
и позже вызовите это с желаемыми аргументами:
источник
alias ls='ls | sort -n'
Я бы использовал функцию для этого. Что-то вроде:
источник