[Others] source命令奇怪的bug
Tofloor
poster avatar
movead
deepin
2023-01-31 00:11
Author

前置操作:在~/pg_app/pg13这个目录下可能之前PGHOME的为/home/lchch/h2/pg13

第一幅图片是bug出现的截图, 执行source pg13_env命令后,输出$PATH的值不正确,后面我尝试了下,把pg13_env内的内容全部使用#符号注释掉,还是跟截图一样的效果
image.png

这幅图片我把pg13_env重命名为pg13_env1,然后source pg13_env1就没有问题了。
image.png

我这问题可随时复现。

操作视频:
链接: https://pan.baidu.com/s/1f-Zw3QIsEDlb9hmDByCGvw 提取码: 37jj

Reply Favorite View the author
All Replies
blue_whale
deepin
2023-01-31 17:50
#1

猜测1:
pg13_env文件第一行曾带有不可识别的空白字符, 导致执行的时候这一行没有配置成功, 但是下面的配置成功了. 你曾说用井号注释过, 在删除井号的时候同时可能也删除了那个有问题的空白字符. 然后复制了一次到 pg13_env1 , 再次执行的时候每一行都正常配置了, 所以结果正常了.
(这意味着现在这两个文件都正常了)

猜测2:
实在编不出来了, 要不你缩短一下排查范围吧, 比如把文件换个简单的名字, 比如test, 然后文件内容缩短到只有两行, 看看这个问题能否复现. 看看是否和PATH变量有关, 看看是否和export导出命令有关.
最好是找到一个可以复现的最简单的方法.

百度网盘实在不想打开了, 看个视频还得登陆, 否则只能看30秒...

Reply View the author
movead
deepin
2023-01-31 17:59
#2
blue_whale

猜测1:
pg13_env文件第一行曾带有不可识别的空白字符, 导致执行的时候这一行没有配置成功, 但是下面的配置成功了. 你曾说用井号注释过, 在删除井号的时候同时可能也删除了那个有问题的空白字符. 然后复制了一次到 pg13_env1 , 再次执行的时候每一行都正常配置了, 所以结果正常了.
(这意味着现在这两个文件都正常了)

猜测2:
实在编不出来了, 要不你缩短一下排查范围吧, 比如把文件换个简单的名字, 比如test, 然后文件内容缩短到只有两行, 看看这个问题能否复现. 看看是否和PATH变量有关, 看看是否和export导出命令有关.
最好是找到一个可以复现的最简单的方法.

百度网盘实在不想打开了, 看个视频还得登陆, 否则只能看30秒...

我认为跟文件内容无关,是否跟系统文件node相关。

只是偶尔发现有这个问题,目前只是这个文件有问题,无法从头到尾重新复现问题。

Reply View the author
movead
deepin
2023-01-31 18:03
#3
blue_whale

猜测1:
pg13_env文件第一行曾带有不可识别的空白字符, 导致执行的时候这一行没有配置成功, 但是下面的配置成功了. 你曾说用井号注释过, 在删除井号的时候同时可能也删除了那个有问题的空白字符. 然后复制了一次到 pg13_env1 , 再次执行的时候每一行都正常配置了, 所以结果正常了.
(这意味着现在这两个文件都正常了)

猜测2:
实在编不出来了, 要不你缩短一下排查范围吧, 比如把文件换个简单的名字, 比如test, 然后文件内容缩短到只有两行, 看看这个问题能否复现. 看看是否和PATH变量有关, 看看是否和export导出命令有关.
最好是找到一个可以复现的最简单的方法.

百度网盘实在不想打开了, 看个视频还得登陆, 否则只能看30秒...

只要用pg13_env文件,不管里面内容是什么,都会得到错误的结果

Reply View the author
blue_whale
deepin
2023-01-31 18:08
#4

还有一个猜测, 截图中没有可执行的x权限, 可以试试加权后的结果:
图片.png

如果跟系统文件节点相关的话, 那你可以在另一个目录里面新建一个同名同内容的文件, 如果可以复现bug说明与系统文件节点无关.

只有这个文件有问题, 这就很尴尬了, diff命令测试一下?

Reply View the author
movead
deepin
2023-01-31 22:41
#5
blue_whale

还有一个猜测, 截图中没有可执行的x权限, 可以试试加权后的结果:
图片.png

如果跟系统文件节点相关的话, 那你可以在另一个目录里面新建一个同名同内容的文件, 如果可以复现bug说明与系统文件节点无关.

只有这个文件有问题, 这就很尴尬了, diff命令测试一下?

拷贝到其他目录,同样出现问题,跟x权限无关
image.png

Reply View the author
blue_whale
deepin
2023-02-01 16:51
#6

在另一个目录里面新建一个同名同内容的文件, 指的是新建, 不是拷贝(判断空白字符). 还有就是内容只有前两行(缩短排查范围), 这次回复你没有提到内容.
还有diff命令你没有测试.(判断正常的和不正常的不同名文件的区别)

Reply View the author
movead
deepin
2023-02-01 18:55
#7
blue_whale

在另一个目录里面新建一个同名同内容的文件, 指的是新建, 不是拷贝(判断空白字符). 还有就是内容只有前两行(缩短排查范围), 这次回复你没有提到内容.
还有diff命令你没有测试.(判断正常的和不正常的不同名文件的区别)

只跟文件名有关,跟位置内容无关
image.png

这样的话,就不用看diff了

Reply View the author