当前位置: 技术问答>linux和unix
请教一个关于find命令的问题
来源: 互联网 发布时间:2017-05-26
本文导语: 问题描述,我想使用find 命令找到shell所在的目录并切换到此目录(shell)下 我想使用find -exec这个办法 我的shell目录在/home/test/shell 以下是我遇到的问题: 现象1:这样做不可以 find /home -name 'shell' -ok cd {} ; ? Y...
问题描述,我想使用find 命令找到shell所在的目录并切换到此目录(shell)下
我想使用find -exec这个办法
我的shell目录在/home/test/shell
以下是我遇到的问题:
现象1:这样做不可以
现象2:这样可以
疑惑为什么find的结果不能cd
我想使用find -exec这个办法
我的shell目录在/home/test/shell
以下是我遇到的问题:
现象1:这样做不可以
find /home -name 'shell' -ok cd {} ;
? Y
find: `cd': No such file or directory
现象2:这样可以
find /home -name 'shell' -ok ls {} ;
? y
这样可以显示shell目录下的文件
疑惑为什么find的结果不能cd
|
cd "$(dirname "$(find . -name 'shell' 2> /dev/null)")"
|
The current directory is always context sensitive. When u completed the execution of a shell program such as find command, the current directory reverts to whatever was in effect when you started the program. So, in your case, the effects of 'cd' will not be seen once that -exec (which starts a shell) is complete.