加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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 *
>机器B:sys.argv [1] = filename_pattern-2013-06-30

注意:filename_pattern-2013-06-30是我当前目录中的文件.

我的一位同事告诉我,这是bash的罪恶.但我检查两台机器中的bash版本是否相同,我检查了?/ .bashrc,/ etc / bashrc,/ etc / profile.d / *.

任何人都可以指出两个相同版本的bash行为有何不同?

解决方法

这是因为在你的一台机器中,在文件夹中,没有可以匹配模式的文件.所以当发生这种情况时,*仍然存在.您可以使用一台计算机进行测试,无论文件是否与文件匹配.还有另一个原因,shell选项nullglob被禁用.你可以阅读 GNU bash reference.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读