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}}"

환경 변수 실행

$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[@]}"

관련 정보