gpt4 book ai didi

shell - 查找目录中的所有 *.sh 文件

转载 作者:行者123 更新时间:2023-12-02 05:33:28 25 4
gpt4 key购买 nike

我想在某个目录中找到所有 *.sh 文件,但脚本中有一些错误......

#!/bin/sh
for plik in /var/panel/starter/*
do
if [ $(basename "$plik") != "priority" ] && [ $(basename "$plik") != "PRIORITY" ]
then
for plik in $plik/*
do
filename=$(basename "$plik")
extension="${filename##*.}"
filename="${filename%.*}"
if [ "$extension" == "sh" ]
then
echo $plik
fi
done
fi
done

/var/panel/starter 中有一些文件夹,在这些文件夹中有 shell 脚本,这就是我使用 for 循环两次的原因。

这是错误:
[: 19: *: unexpected operator
[: 19: sh: unexpected operator
[: 19: sh: unexpected operator
[: 19: sh: unexpected operator
[: 19: *: unexpected operator

我想问题在于空文件夹,例如:
/var/panel/starter/cs16/*

我不知道如何处理。

最佳答案

为什么要使用脚本,何时可以使用以下方法实现相同的效果:

find path_to_folder -iname "*.sh"

关于shell - 查找目录中的所有 *.sh 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com