CDシェルの組み込み推測を停止するにはどうすればよいですか?

CDシェルの組み込み推測を停止するにはどうすればよいですか?

たとえば、

$ 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。これは以前のレビューでも認められた。

おすすめ記事