我aliases在~/.bash_aliases. 他们使用不同的环境变量设置调用相同的命令,所以我不必每次都输入这些。在aliases做工精细的交互式shell。
alias cmd1='VAR=setting1 cmd $@'
alias cmd2='VAR=setting2 cmd $@'
Run Code Online (Sandbox Code Playgroud)
现在我想将所有这些命令变体一起调用,每个变体都带有选项“list”。为此,我在 Bash 中设置了以下脚本:
#!/bin/bash
shopt -s expand_aliases
source ~/.bash_aliases
CMDs='cmd1 cmd2'
for cmd in CMDs ; do
$cmd list
done
Run Code Online (Sandbox Code Playgroud)
但是,此脚本会产生错误
“找不到相关命令”
对于每个alias调用。我已经尝试了各种变体,但没有看到 Bash 的内部结构在这里是如何工作的。-- 欢迎任何见解!