Как хранить длинные команды в переменных окружения в Linux?

Как хранить длинные команды в переменных окружения в Linux?

Я хочу просто выполнить длинную команду, представленную ниже.

docker ps -a --format "table {{.Image}}\t{{.Ports}}"
export view='docker ps -a --format "table {{.Image}}\t{{.Ports}}"'

тест

echo $view
docker ps -a --format "table {{.Image}}\t{{.Ports}}"

Переменная Env Exec

$view

Результат конец Код ошибки

Но это работает так, как показано ниже.

"docker ps" accepts no argumets.
See 'docker ps --help'

Usage: docker ps [OPTIONS]

List containers

Короче говоря, нельзя ли сохранить такой длинный код как переменную окружения?

и если возможно, могу ли я узнать другой способ?

решение1

Вы должны сохранить как массив и правильно заключить в кавычки. Только тогда вы можете быть уверены, что он правильно расширяется.

cmd=("docker" "ps" "-a" "--format" "table {{.Images}}\t{{.Ports}}")
"${cmd[@]}"

Связанный контент