나는 같은 것을하려고합니다.
alias ftp='echo do not use ftp. Use sftp instead.'
바로 그래서 ftp
실수로 사용되지 않습니다. 그러나 나는
ftp abcd.com
명령이 에코됩니다
do not use ftp. Use sftp instead. abcd.com
에 abcd.com
대한 인수로 간주 되기 때문 입니다 echo
.
Bash abcd.com
가 대체에 추가하지 않거나 추가 echo
인수로 사용 하지 않는 방법이 있습니까? (각 접근법마다 해결책이 있습니까?)
나는 그것을 만들 수 있다고 생각
alias ftp='sftp'
그러나 나는 명령을 모두 멈추게하여 사용하지 말 것을 상기시키고 자한다 ftp
.
답변
별칭을 정의하면 설정 한 명령이 사용자가 작성한 별칭 대신 실행됩니다. 이것은 당신이 실행할 때 ftp abc.com
실제로 실행되는 것은
echo do not use ftp. Use sftp instead abc.com
간단한 해결책은 별명 대신 함수를 사용하는 것입니다.
ftp(){ echo 'do not use ftp. Use sftp instead'; }
또는 printf
Costas가 제안한대로 사용할 수 있습니다 .
alias ftp="printf 'do not use ftp. Use sftp instead\n'"
답변
alias ftp='echo do not use ftp. Use sftp instead. # '
답변
#
별칭 문자열 끝에 공백과 주석 문자 를 넣으십시오 .
alias ftp='echo do not use ftp. Use sftp instead. #'
ftp abcd.com
do not use ftp. Use sftp instead.
그러면 매개 변수가 주석으로 처리됩니다. 공간을 추가하기 전에 공백을 추가하는 것을 잊지 마십시오. #
그렇지 않으면 별명 확장 후 별도의 토큰으로 해석되지 않습니다.