pntshere Asked: 2018-01-25 14:51:45 +0800 CST2018-01-25 14:51:45 +0800 CST 2018-01-25 14:51:45 +0800 CST Bash别名的替代品(基本上表现得像别名但不是别名的东西)[重复] 772 我需要一个 Bash 别名的 A 替代品(基本上表现得像别名但不是别名的东西)。 我需要这样一个替代品的原因是脚本不能使用别名。也就是说 --- 当我在 Bash 中手动执行别名时,别名工作正常,但当作为脚本的一部分运行时,它无法工作。我知道的解决方案是将别名放在一个临时文件中,但我不想要这种方法。 有没有我可以使用的替代/类似的命令快捷方式,一些“下一代别名”(给出一个比喻),它的行为就像一个别名,但也可以自然地供脚本访问(在其文件被获取之后)? bash alias 1 个回答 Voted Best Answer Bach Lien 2018-01-25T20:08:30+08:002018-01-25T20:08:30+08:00 在man bash: 当 shell 不是交互式时,别名不会展开,除非使用shopt设置了expand_aliases shell 选项。 所以,我认为你需要shopt expand_aliases在你的bash脚本中添加。 测试: $ cat 1.sh #!/bin/bash alias ll='ls -l' ll $HOME $ ./1.sh ./1.sh: line 3: ll: command not found $ cat 2.sh #!/bin/bash shopt -s expand_aliases alias ll='ls -l' ll $HOME $ ./2.sh total 12 ...
在
man bash
:所以,我认为你需要
shopt expand_aliases
在你的bash
脚本中添加。测试: