我想从shell脚本中设置一个适用于当前shell(我从中运行脚本的shell)的别名。别名是cd
- 进入脚本的文件夹。这里的(不工作)脚本:如何从shell脚本设置别名?
#!/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脚本,使得相关的外壳(运行该脚本的外壳)的别名?
我试图找到一个很好的链接为什么超过别名喜欢的功能,但找不到任何合理的简洁和正确的。可能我太懒惰了。无论如何,别名有一些不幸的和轻度惊人的副作用,例如当您尝试提供参数并且别名不需要它们时。 – tripleee