【发布时间】:2023-01-15 15:07:18
【问题描述】:
按原样删除包含敏感的项目材料。
【问题讨论】:
-
二进制文件的名称是
[而不是[1。与调用cd ..或ls .或cat file而不是cd..、ls.或catfile的方式相同。[之后和]之前缺少空格字符。您也缺少所有变量扩展周围的双引号。一旦您的变量值中有空格,这就会产生问题。 -
此外,使用
ls获取文件(/目录)名称列表并将这些名称存储在文件中都是不好的做法;只需使用for p in *; do即可。 -
@GordonDavisson,你有例子吗?
-
如果文件名中包含有趣的字符,
ls的输出可能会模棱两可且不一致;见"Why you shouldn't parse the output of ls(1)"。这是通常可以正常工作的事情之一,所以你认为这样做是可以的......直到你遇到一个奇怪的情况,它爆炸了。如果你编写了足够多的脚本,你就会厌倦你的脚本因为奇怪的原因而爆炸,并了解哪些方法别由于奇怪的原因而爆炸……或者您可以向编写过大量脚本的人学习,并从一开始就正确地构建您的脚本。 -
请不要破坏您的帖子。通过在 Stack Exchange 网络上发帖,您已授予 SE 分发该内容的不可撤销的权利(在 CC BY-SA 4.0 license 下)。根据 SE 政策,任何破坏行为都将被恢复。如果你真的认为其中的一些是机密的,标记并要求版主删除机密数据而不破坏整个问题。