使用 bash 脚本时遇到问题。我需要cd
进入使用部分名称的目录,例如binutil
完整目录名称可能位于的位置binutil-2.36
。
我需要这样做,以便每个包都有新版本时我就不必更改我的脚本。
有任何想法吗?
答案1
你永远无法改变当前路径底层会话中,只有会话命令运行。
但是,您可以来源你的脚本:source script.sh <dir>
read -d '' -r < <( \
find "${1:-.}" -maxdepth 1 -type d -name 'binutil-*' -print0 | sort -rVz) && cd "$REPLY"
.bashrc
或者在or中创建一个函数.bash_aliases
:
cd-binutil(){ # <dir>
read -d '' -r < <( \
find "${1:-.}" -maxdepth 1 -type d -name 'binutil-*' -print0 | sort -rVz) && cd "$REPLY"
}
source ~/.bash_aliases
将会把更改应用到当前会话。