![일련의 명령에 대한 별칭을 만드는 방법은 무엇입니까? [복사]](https://linux55.com/image/34260/%EC%9D%BC%EB%A0%A8%EC%9D%98%20%EB%AA%85%EB%A0%B9%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%B3%84%EC%B9%AD%EC%9D%84%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
명령인 것은 알지만 시퀀스를 어떻게 처리합니까?
답변1
댓글에 형식을 제대로 지정할 수 없어서 이것을 답변으로 넣었습니다.
foo() {
echo foo
echo bar
}
> foo
foo
bar
IMHO 별칭보다 함수를 더 자유롭게 사용할 수 있습니다. 최소한 올바르게 형식을 지정할 수 있습니다.
스크립트에서 별칭은 매우 제한적으로 사용됩니다. 별칭이 C 전처리기의 일부 기능(예: 매크로 확장)을 사용할 수 있다면 좋겠지만 불행하게도 Bash는 별칭 본문 내에서 인수를 확장하지 않습니다. [2] 또한 스크립트는 if/then 문, 루프 및 함수와 같은 "복합 구조" 내에서 별칭 자체를 확장할 수 없습니다. 또 다른 제한 사항은 별칭이 재귀적으로 확장되지 않는다는 것입니다. 거의 항상 별칭으로 수행하려는 작업은 함수를 사용하여 더 효율적으로 수행할 수 있습니다.
답변2
start cmd:> alias foo="echo foo; echo bar"
start cmd:> foo
foo
bar