私は次のようなことをしようとしています
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
。
追加
—
Josh Jolly
echo
のsftp
別名?すなわちalias ftp='echo "Do not use ftp"; sftp'
。また、使用を強制されている間、リマインダーを取得しますsftp
。
@JoshJolly使用しないことを常に思い出させるために、コマンドを「帆走」させるのではなく、一緒に停止するようにコマンドを作成したかった
—
非極性
ftp
エイリアスは非常に単純であることに注意してください。これらは単なる文字列置換にすぎません((1)置換がコマンド文字列の先頭でのみ発生する、および(2)再帰的でないという追加の制限があります)。エイリアスの定義を超えてエイリアスがどのように機能するかを「構成」する方法はありません。
—
カイルストランド
ええと...申し訳ありませんが、エイリアスは再帰的です。私が何を考えていたかわからない。
—
カイルストランド2014
ftp
、別の方法で、しかし、あなたはそうしたい場合-使用printf
の代わりに、echo
:printf "Do not use ftp. Use sftp instead.\n\c"