首页 > 解决方案 > 在脚本 bash 中更改目录

问题描述

我想找到一个文件并转到他的目录。我制作了一个 bash 脚本:

#!/bin/bash

FILE=$1
FILEPATH=`find . -name "$FILE"`

if [ -f "$FILEPATH" ]
then
    cd $(dirname "$FILEPATH")
fi

但是这个脚本不起作用。我在这篇文章中看到我必须添加exec bash,或者$SHELL它会创建一个新的 bash 提示符并显示我的欢迎消息。

我能怎么做 ?我只想要一个脚本、别名或其他东西来查找文件并转到包含该文件的目录。

标签: bash

解决方案


获取您的脚本,而不是像您一样运行它。当你像你一样运行它时,你会产生一个新的 shell,它会cd执行pwd.

使用source myscript.shor. myscript.sh代替bash myscript.shor myscript.sh


推荐阅读