Linuxで「cd」コマンドで動作しないBashエイリアス

Linuxで「cd」コマンドで動作しないBashエイリアス

cdBashでエイリアスを試しましたが、コマンドで使用されていることがわかりません

[0s][/nobackup/sumikum7]> sjc-tftp
-bash: /auto/tftp-xeinfra/sumikum7/: Is a directory
[0s][/nobackup/sumikum7]> cd sjc-tftp
-bash: cd: sjc-tftp: No such file or directory
[0s][/nobackup/sumikum7]> cd /auto/tftp-xeinfra/sumikum7/
[0s][/auto/tftp-xeinfra/sumikum7]>

私はいくつか探してみましたが、Linuxのどこにもこの問題への言及が見つかりませんでした。

メモ:

  • バッシュバージョン:GNUバッシュ、バージョン4.4.19(1)-リリース(x86_64-redhat-linux-gnu)
  • 確立されたMACの場合でも、このような理由があるかどうか教えてください。

ベストアンサー1

Bashのマニュアルページから:

エイリアスを使用すると、単純なコマンドの最初の単語として使用するときに単語を文字列に置き換えることができます。

sjc-tftp最初の単語ではないのでcd sjc-tftp拡張されません。必要な結果を得るには、単純なシェル変数を使用するか、$sjc-tftpcdコマンドを含むエイリアスを作成できます。例: alias sjc-tftp="cd /auto/tftp-xeinfra/sumikum7/"。その後、sjc-tftpCDを使用せずに直接入力し、ディレクトリを変更します。あなたが接続したMacの質問は、エイリアスではなくシンボリックリンクについて話しているようです。

おすすめ記事