たとえば、
$ ls -aF
./ ../ bin/
$ cd tin # with a tee, not bee
bin
$ pwd
/home/user/bin
つまり、cd
私が実際に何を意味するのかを推測してくださいcd bin
。正常に(はい?)それに合わせて現在のディレクトリを変更してください。この動作が文書化されているかman bash
見つかりませんでした。バッシュリファレンスマニュアル。
Bashにエラーを生成し、いくつかの情報を標準エラーに書き込むようにしたいと思います。現在のディレクトリを変更せずに保持します。パラメータに一致するディレクトリがない場合dir
(次を考慮)拡張)が見つかります。
参考までに、
$ type cd
cd is a shell builtin
$ ps -p $$
PID TTY TIME CMD
46959 pts/8 00:00:00 bash
$ bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ hostnamectl
Static hostname:
Icon name: computer-server
Chassis: server
Machine ID:
Boot ID:
Operating System: Red Hat Enterprise Linux
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.9:GA:server
Kernel: Linux 3.10.0-1160.83.1.el7.x86_64
Architecture: x86-64
$ #DELETED: Static hostname, Machine ID, Boot ID
答え1
コマンドの動作がcd
影響を受けますshopt
。を参照してman bash
以下を検索してくださいshopt
。また見てください内蔵店舗内部にバッシュリファレンスマニュアル。
特に、質問に現れる行動は一貫していますshopt -s cdspell
。
cd
すべてのエフェクトオプションをクリアすると(質問に応じて)、希望のエフェクトが得られるようです。cd
説明を見るBourne Shell 組み込み関数または「SHELL BUILTIN COMMANDS」の下にありますman bash
。
感謝の言葉
shopt
私たちのシステムの設定を指摘した匿名の同僚に感謝しますcdspell
。これは以前のレビューでも認められた。