명령줄 별칭과 .bash_profile 별칭

명령줄 별칭과 .bash_profile 별칭

명령줄에서 이 별칭을 만들면 모든 것이 잘 작동합니다 alias Ejecta='for I in 1 2 3; do /usr/sbin/diskutil unmountDisk disk$I;done'

.bash_profile에 동일한 별칭이 생성되는 경우. OS가 "$I"를 삭제합니다.

이것은 초보자 질문이지만 해결책을 찾을 수 없다고 말하기가 당황스럽습니다. 스크립트를 생성하고 별칭이 이를 참조하도록 해야 합니까?

답변1

당신이 시도하는 것이 효과가 있을 것입니다. $I별칭을 정의할 때 평가 중일 수 있습니다 . 이는 아마도 어딘가에 인용문이 누락되었음을 의미할 수 있습니다.

그러나 .bash_profile의 관련 부분을 포함하지 않고 말하기는 어렵습니다.

답변2

귀하의 질문에서 별칭을 작은 따옴표로 묶으십시오. 이는 변수 평가를 지연시키기 위해 올바른 방법입니다. 내 생각엔 .bash_profile변수를 즉시 평가할 수 있도록 큰따옴표를 사용하고 있는 것 같습니다. 해당 시점에서는 변수가 설정되지 않았을 가능성이 높으므로 null 문자열로 평가됩니다.

관련 정보