조건부 명령줄 내보내기 변수

조건부 명령줄 내보내기 변수

내가 달리면

export COMMAND=nonexistentcommand && which $COMMAND >/dev/null || \
(echo "download filewithcommand.sh" && export COMMAND=./filewithcommand.sh)

echo "command: $COMMAND"

알겠어요

download filewithcommand.sh
command: nonexistentcommand

하지만 내 생각엔 그래야 한다고 생각해

download filewithcommand.sh
command: ./filewithcommand.

이 문장에 문제가 있나요?

답변1

COMMAND로 설정하면 nonexistentcommand이것이 출력됩니다. 정상.

다른 값을 설정 COMMAND하지만 이는 하위 셸(괄호로 묶음)에 있으므로 상위 셸의 환경에 영향을 주지 않습니다. 괄호 대신 (하위 쉘을 분기하지 않고) 중괄호를 {사용 한다는 의미 입니까 ?}()

관련 정보