Iva*_*kov -6 command-line bash hidden-files ls
是否可以在不使用上述字符的情况下列出隐藏文件?这个装置不使用任何选项或*通配符以及一些其他字符(例如,这是不容许ls -a
,ls -d
,.!(|.)
,echo .*
等等)。
find .
将列出所有文件,包括隐藏文件。
推论:有人认为通过将单个字符甚至可能是脚本中的命令列入黑名单来教授命令注入是个好主意。这对您学习 shell 是有害的,因为您最终会遇到转义字符或依赖 Ubuntu 特定的默认配置之类的黑客攻击,这两者都无法处理特殊文件名。
实际上,无论eval
出于某种原因想出这个的人都想使用它(这总是*一个糟糕的主意),而不仅仅是直接执行提交的代码或脚本。
循环隐藏文件的绝对最简单的方法是
for file in .*
do
my_command "$file"
done
Run Code Online (Sandbox Code Playgroud)
* 或者几乎总是如此,以至于您最好在考虑使用它之前阅读并理解有关它的整篇Bash wiki 文章。