我正在尝试创建一个包含别名列表的bash脚本,并在我的脚本中运行它们。 (这只是一个简化的示例,但可以解释这种情况)。
应该发生的是,我遍历别名,脚本逐个执行它们。
alias_list.sh
#!/bin/bash
alias al1="ls"
alias al2="ls ."
alias al3="ls .."
test_alias_loop.sh
#!/bin/bash -i
# Expand aliases
shopt -s expand_aliases
source ~/Documents/test_ssh_bash/scripts/alias_list.sh
# Exists just to get a list of aliases, proper version gets aliases from bash command
aliases=$(printf "al1\nal2\nal3\n\n")
for ssh_alias in $aliases; do
echo "$ssh_alias"
$ssh_alias
done
这是我第一个命令得到的./test_alias_loop.sh:第12行:al1:未找到命令
但是,当我刚做的时候>
al1
该命令运行,我得到当前目录的ls。
我如何遍历别名命令列表,并在脚本中实际运行它们?
我正在尝试创建一个包含别名列表的bash脚本,并在我的脚本中运行它们。 (这只是一个简化的示例,但可以解释这种情况)。我应该在......>
$alias \|
while read -r line ; do
echo "$line" \|
perl -pe 's/.*?=//' \|
xargs
done | bash