相关疑难解决方法(0)

用于移动最旧文件的 Shell 脚本?

如何编写一个脚本来将 20 个最旧的文件从一个文件夹移动到另一个文件夹?有没有办法抓取文件夹中最旧的文件?

shell bash shell-script timestamps files

17
推荐指数
4
解决办法
2万
查看次数

如何在 zsh 中过滤一个 glob

基本上我可以在 zsh 中使用 glob 到一个列表。通常,事实证明,我想过滤该列表,但我很想知道,是否需要这样做。

zsh 有过滤列表的方法吗?我担心这是一个显而易见的问题,但从心理上来说,今天是低收益日。

zsh wildcards

9
推荐指数
1
解决办法
2282
查看次数

命令执行顺序和重定向

对于我正在制作的 bash 脚本,我需要删除目录中除最新的 2 个文件之外的所有文件。

我决定使用ls -tUr > somefile.txt然后拖尾最新的 2,将它们移到其他地方rm *,然后将它们移回。

出于某种原因,somefile.txt实际上显示(在其余文件中)somefile.txt其中使用tail命令搞砸了。

所以我的问题是,逻辑上ls会返回当前文件夹/文件,然后被重定向到somefile.txt,但显然这不会发生,因为somefile.txt必须在ls运行之前存在;为什么是这样?

shell bash io-redirection

3
推荐指数
1
解决办法
144
查看次数

评估“ls”的输出是否会使脚本容易受到代码注入的攻击?

是否存在一个足够病态的文件名或文件名集合,其约束条件是它必须具有给定的前缀和后缀,比如file_<your_stuff_here>.txt这会使在 bash 脚本中评估或反引号 ls 的输出变得危险?我们所说的“危险”意味着它允许任何拥有相关目录文件创建权限的人运行任何命令。

例如,让 bash 脚本只是

#!/usr/bin/env bash
hello=(`ls -t`)
Run Code Online (Sandbox Code Playgroud)

看起来文件系统通过将文件名用引号括起来来清理特殊字符,例如空格。它会捕获所有这些东西吗?

ls bash

2
推荐指数
1
解决办法
664
查看次数

标签 统计

bash ×3

shell ×2

files ×1

io-redirection ×1

ls ×1

shell-script ×1

timestamps ×1

wildcards ×1

zsh ×1