【发布时间】:2020-09-04 23:43:00
【问题描述】:
我正在尝试创建一个包含别名列表的 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: line 12: al1: command not found
但是,当我这样做的时候
al1
命令运行,我得到当前目录的 ls。
如何遍历别名命令列表并在我的脚本中实际运行它们?
【问题讨论】: