alias xxx=echo && xxx ok
나중에 별칭을 사용할 수 없기 때문에 작동하지 않습니다 &&
. 하지만 한 줄의 코드가 내 작업에 가장 적합합니다.
별칭을 정의하고 bash의 같은 줄에서 사용하는 방법은 무엇입니까?
답변1
bash
매뉴얼 에서 :
별칭의 정의 및 사용에 관한 규칙은 다소 혼란스럽습니다. Bash는 해당 줄에서 명령을 실행하기 전에 항상 입력의 전체 줄을 하나 이상 읽습니다. 별칭은 명령이 실행될 때가 아니라 명령을 읽을 때 확장됩니다. 따라서 다른 명령과 같은 줄에 나타나는 별칭 정의는 다음 입력 줄을 읽을 때까지 적용되지 않습니다. 줄에서 별칭 정의 뒤에 오는 명령은 새 별칭의 영향을 받지 않습니다.
이는 다른 많은 쉘에서도 마찬가지입니다.
답변2
다음을 수행하여 셸 제한 사항을 해결할 수 있습니다.
eval 'alias xxx=echo
xxx ok'