使用 autocd 更改路径后自动运行 ls

使用 autocd 更改路径后自动运行 ls

因此,每次我更改目录时,我都希望使用 自动列出新路径ls
如果使用 更改路径,则有解决方案cd,但我从未找到使用 选项更改路径时可行的解决方案autocd

会很方便,有人实现过吗?

答案1

PROMPT_COMMAND您可以通过更改在 PS1 之前执行的变量来实现这一点,例如:

PROMPT_COMMAND='ls'

每次你收到新提示时,这都会列出。当然,你只想ls在目录发生变化时执行:

PROMPT_COMMAND='[[ $my_currdir != $PWD ]] && ls; my_currdir=$PWD'

这将检查新目录是否与上次设置的目录不同,然后执行ls,之后当前目录将存储在my_currdir

我找到了更好的台词这里,他们使用bash 作为文件管理器

PROMPT_COMMAND='[[ ${__new_wd:=$PWD} != $PWD ]] && list; __new_wd=$PWD'

因为有可能__new_wd未设置,所以您可以指定一个在这种情况下将使用的默认值(请参阅bash手册页,搜索:=

相关内容