2014-06-23 4 views
2

echo 문자를 전달하기 전에 문자를 인쇄하려면 어떻게 다시 쓸 수 있습니까?Bash의 덮어 쓰기/덮어 쓰기 기능

나는이 작동하지 않습니다 이런 식으로 뭔가에 대해 생각했다 :

alias oldecho=echo 
echo(){oldecho ==> $1} 

답변

4

닫습니다.

echo() { builtin echo "==>" "[email protected]"; } 

builtin 명령의 나머지 내장 명령을 재 구현 단순화 내장으로 실행되도록 강제.

그러나 문제는 >을 인용하지 않았습니다. 내가 ==> 있으리라 믿고있어 난 당신이 무슨 뜻인지 확실히 모르겠어요,하지만 어쩌면이 도움이 될 것입니다

+0

는 어떻게 화살표 전에 입력을 넣어 수 있을까? – juanpastas

+1

+1은'builtin'을 사용하고 따옴표로 묶이지 않은'==>'로 문제를 찾아냅니다. @juanpastas :'$ '\ n ==>''을 사용하거나'builtin' 명령 앞에'printf '\ n "'또는 다른'builtin echo'를 넣으십시오. – mklement0

+1

echo -ne "\ n ==>"는 줄 바꿈을 앞에 붙입니다. – Jeff

0

...

alias echo='/bin/echo ==\> $*'

은 ... 당신은 항상 앞에 추가 할 문자입니다.

(당신이 리디렉션으로 해석되는 것을 >을 방지하기 위해 필요한 백 슬래시 \을주의.)

+1

하지만'echo'는 쉘 내장 명령으로 호출되는 경우가 거의 없으며 거의'/ bin/echo'를 호출합니다. 특히 bash에서는 OP가 요구하고 있습니다. –

+0

그래서'builtin echo'로 변경하십시오. – tripleee