微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bash通过通配符和隐藏文件循环

只是一个简单的shell脚本,很困惑:

这是我的脚本:

% for f in $FILES; do echo "Processing $f file.."; done

命令:

ls -la | grep bash

生产:

% ls -a | grep bash
.bash_from_cshrc
.bash_history
.bash_profile
.bashrc

什么时候

FILES=".bash*"

我得到与ls -a相同的结果(不同的格式).但是什么时候

FILES="*bash*"

我得到这个输出

Processing *bash* file..

这不是预期的产出,而不是我的期望.我不允许在文件名的开头有一张通配符?是个 .在开头的文件名称“特殊”不知何故?

设置

FILES="bash*"

也不行

FILES =“.bash *”的作品是因为隐藏的文件名以a开头.

FILES =“bash *”不起作用,因为隐藏的文件名以a开头.不是b

FILES =“* bash *”不起作用,因为字符串开头的*通配符会忽略隐藏的文件.

原文地址:https://www.jb51.cc/bash/386844.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐