小编snu*_*den的帖子

浏览每个子文件夹,检查文件夹并运行脚本

我有一个目录,其中包含各种深度的子文件夹。我想查看所有这些,检查它们是否包含具有特定名称的文件夹,如果该目录存在,则运行脚本(让我们调用此脚本foo.sh以避免混淆)。

foo.sh如果找到目标文件夹,则应在当前文件夹中运行。例子:

/A
  /subA-1
  /subA-2
    /target
  /subA-3
    /sub-subA-3
       /target
Run Code Online (Sandbox Code Playgroud)

我正在寻找的命令/脚本应从 运行/A,然后将遍历所有子文件夹以查找名称为 的文件夹target。进入后/subA-2满足此条件,然后在 foo.sh 中运行/subA-2。相同/sub-subA-3,但不是/subA-3

foo.sh不需要任何输入,它只需要在包含/target.

bash directory shell-script

5
推荐指数
1
解决办法
4381
查看次数

删除包含某个文件的目录

我想找到包含某个文件的所有目录,然后删除这些目录。和

find . -name thatcertainfile -execdir pwd \;

我得到了我想删除的所有目录的列表,但是我怎么能即时删除所有这些目录呢?请注意,我想删除整个目录,而不仅仅是文件本身,我可以在其中使用

find . -name thatcertainfile -exec rm -r {} \;

shell directory find rm

5
推荐指数
1
解决办法
2615
查看次数

在此处字符串中使用变量

为了向交互式脚本提供输入,我一直在使用此处的字符串:

script <<< $'1 2\n3 4\n5 6\nq'
Run Code Online (Sandbox Code Playgroud)

这有效地进入

1 2
3 4
5 6
q
Run Code Online (Sandbox Code Playgroud)

进入脚本。但是如何用变量替换其中之一?

script <<< $'$var 2\n3 4\n...'
Run Code Online (Sandbox Code Playgroud)

不起作用...

shell scripting bash here-string

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

标签 统计

bash ×2

directory ×2

shell ×2

find ×1

here-string ×1

rm ×1

scripting ×1

shell-script ×1