关于bash中~的使用问题

关于bash中~的使用问题

我试图使用“find”查找 home 及其子目录中的所有 bash 脚本,为此我在终端中输入了以下内容:

find  ~ -name '*.sh'

它返回子目录中包含的 .sh 文件,但不返回主目录中的文件。

然而这些指令是有效的:

find . -name '*.sh'

我想知道为什么它不能与“~”一起使用:有什么想法吗?

编辑。按照要求:

$ ls -ld ~
drwxr-xr-x 25 administrateur sudo 4096 janv. 28 13:52 /home/administrateur
$ ls -ld "$PWD"
drwxr-xr-x 3 root root 4096 janv. 28 11:15 /home

答案1

当你跑的时候

find . -name '*.sh'

您位于/home,但~是您的主目录,/home/administrateur而不是/home

所以find ~ ...只会找到下面的文件,而不是外面的/home/administrateur文件。/home/home/administrateur

相关内容