我试着用 Bash 写了一个单行,
find ~ -name Music -type d -exec cd '{}' \;
这个使用 find 和 exec 但我收到错误:
查找:`cd':没有那个文件或目录
第二次尝试 XARGS,
find ~ -name Music -type d -print0 | xargs -0 cd
现在我再次尝试编写一个脚本.sh
pathe=$(find ~ -name $1 -type d | head -n 1 )
cd $pathe
并尝试执行脚本 ./1.sh Music
,但没有成功。
到目前为止唯一有效的方法是直接在终端中输入以下命令
cd `find ~ -iname books -type d | head -n 1`
谁能帮我指出我的错误?我正在尝试编写一个单行代码并稍后为其添加别名。
注意:该脚本甚至无法找到只有一个结果和没有空格的结果。
我正在使用带有 bash 版本 4.2.45(2) 的 konsole。
最佳答案
您必须在当前的 shell 中运行 cd
。 如您所见,在另一个 shell 中运行它是行不通的。创建一个函数。示例:
mycd (){
cd "${1}foo"
}
关于linux - 一个 Shell 脚本,用于在一个步骤中以文件夹名称作为参数查找并 cd 到文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17248568/