我正在尝试从 shell 脚本设置一个适用于当前 shell(我从中运行脚本的 shell)的别名。别名用于cd
进入脚本文件夹。这是(不工作)脚本:
#!/bin/bash
shopt -s expand_aliases
DIR=$(cd $(dirname "$0"); pwd) # Detect the folder of the script.
alias cdr="cd $DIR" # cd into the folder.
我很快意识到这不起作用,因为它生成的别名与脚本的子 shell 相关。
然后,我尝试获取文件(如 中. makeAlias.sh
)。但是,这产生了一个错误:dirname: illegal option -- b
.
如何编写使别名与外壳(运行脚本的外壳)相关的 bash 脚本?