我想在循环中从命令读取行的循环中创建 bash 别名。为了逐行读取输出,我相信我需要将输出通过管道传输到read
. 但是,当我这样做时,别名不存在。
如果我在我的中包含以下内容.bashrc
:
for x in a1 a2; do
eval "alias $x='echo foo'"
done
echo -e "a3\na4" | while read x; do
eval "alias $x='echo foo'"
done
别名a1
和a2
存在,但a3
又不a4
存在。这两个循环有什么区别?