Bash是否在我的python命令行参数中扩展了“*”字符?
发布时间:2020-12-15 21:33:22 所属栏目:安全 来源:网络整理
导读:在bash中使用以下命令: python myscript.py filename_pattern* 我在两台Linux机器上有两个不同的sys.argv: 机器A:sys.argv [1] = filename_pattern * 机器B:sys.argv [1] = filename_pattern-2013-06-30 注意:filename_pattern-2013-06-30是我当前目录
在bash中使用以下命令:
python myscript.py filename_pattern* 我在两台Linux机器上有两个不同的sys.argv: >机器A:sys.argv [1] = filename_pattern * 注意:filename_pattern-2013-06-30是我当前目录中的文件. 我的一位同事告诉我,这是bash的罪恶.但我检查两台机器中的bash版本是否相同,我检查了?/ .bashrc,/ etc / bashrc,/ etc / profile.d / *. 任何人都可以指出两个相同版本的bash行为有何不同? 解决方法
这是因为在你的一台机器中,在文件夹中,没有可以匹配模式的文件.所以当发生这种情况时,*仍然存在.您可以使用一台计算机进行测试,无论文件是否与文件匹配.还有另一个原因,shell选项nullglob被禁用.你可以阅读
GNU bash reference.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |