私は次のようなことをしようとしています。
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
。
abcd.com
Bashで代替エントリを追加しないか、追加echo
引数として受け入れる方法はありますか? (それぞれの方法に解決策がありますか?)
私は私ができると思いました。
alias ftp='sftp'
しかし、私はコマンドを使用しないことを思い出させるためにすべてのコマンドを停止したいと思いますftp
。
答え1
エイリアスを定義すると、作成したコマンドではなく、設定したコマンドが実行されます。つまり、 を実行するときに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'"
答え2
alias ftp='echo do not use ftp. Use sftp instead. # '
答え3
#
エイリアス文字列の末尾にスペースとコメント文字を追加するだけです。
alias ftp='echo do not use ftp. Use sftp instead. #'
ftp abcd.com
do not use ftp. Use sftp instead.
これにより、パラメータがコメントとして扱われます。前にスペースを追加することを忘れないでください。#
それ以外の場合は、エイリアス拡張後に別々のトークンとして解釈されません。