使用以下命令bash:
python myscript.py filename_pattern*
Run Code Online (Sandbox Code Playgroud)
我sys.argv在两台Linux机器上有两个不同的:
sys.argv[1] = filename_pattern*sys.argv[1] = filename_pattern-2013-06-30注意:filename_pattern-2013-06-30是我当前目录中的文件.
我的一位同事告诉我那是邪恶的bash.但我检查bash在两台机器都是同一版本,我查了一下~/.bashrc,/etc/bashrc,/etc/profile.d/*.sh太.
任何人都可以指出两个相同版本的bash行为有何不同?
这是因为在你的一台机器中,在文件夹中,没有任何文件可以匹配模式.所以,当这种情况发生时,*遗体.您可以使用一台计算机进行测试,无论文件是否与文件匹配.还有另一个原因,shell选项nullglob被禁用.您可以阅读GNU bash参考.