Bash:Dot命令双重故障
如果我使用bash(或“source”)中的dot命令,它将执行两次 ======演示===(用于导入)=====(另存为“演示”) =======测试====(与演示相同的目录) ================ 那么到底发生了什么?问题是,如果每次导入只执行一次,则会导致错误的结果——即使在这个简单的示例中也是如此 运行系统:Mx Linux 19.2(基于debian) bash 5.0.3(1)Bash:Dot命令双重故障,bash,Bash,如果我使用bash(或“source”)中的dot命令,它将执行两次 ======演示===(用于导入)=====(另存为“演示”) =======测试====(与演示相同的目录) ================ 那么到底发生了什么?问题是,如果每次导入只执行一次,则会导致错误的结果——即使在这个简单的示例中也是如此 运行系统:Mx Linux 19.2(基于debian) bash 5.0.3(1) 测试从xfce4终端开始我无法确认如果这是一个通用问题,其他人也会遇到同样的问题。也许有人知
测试从xfce4终端开始我无法确认如果这是一个通用问题,其他人也会遇到同样的问题。也许有人知道这是什么原因。还在为自己测试;-)是的,我的第一个条目,和一个RTFineM-我会这样做(如果我有时间的话)我试图在学习文本编辑之前至少从问题本身开始,你可能(在测试时)做了
。测试
多次。因此,x
在当前shell(在终端中)中多次与|
连接。这就解释了你的结果。您可以执行取消设置x
,然后再次测试整个设置。但是,如果您的目标是在当前shell中修改x
,请不要对这种行为感到惊讶;你想要它,你就得到了。简言之,寻源修改了当前的shell。我无法确认这是否是一个通用问题,其他人也会遇到同样的问题。也许有人知道这是什么原因。还在为自己测试;-)是的,我的第一个条目,和一个RTFineM-我会这样做(如果我有时间的话)我试图在学习文本编辑之前至少从问题本身开始,你可能(在测试时)做了。测试
多次。因此,x
在当前shell(在终端中)中多次与|
连接。这就解释了你的结果。您可以执行取消设置x
,然后再次测试整个设置。但是,如果您的目标是在当前shell中修改x
,请不要对这种行为感到惊讶;你想要它,你就得到了。简言之,寻源修改了当前的shell。
x+="|"
subResTest() {
return 0 # do nothing
}
echo "HI"$x
#/bin/bash
. demo
for ((i=1 ; i<10 ; i++)) ; do
echo -n $i$x
subResTest
done
echo
./test
HI|
HI||
1||2||3||4||5||6||7||8||9||