Fil*_*zak 2 directory shell for-loop
我想在某个目录中找到所有*.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
Run Code Online (Sandbox Code Playgroud)
/ var/panel/starter中有一些文件夹,在这些文件夹中有shell脚本,这就是我用于循环两次的原因.
这是错误:
[: 19: *: unexpected operator
[: 19: sh: unexpected operator
[: 19: sh: unexpected operator
[: 19: sh: unexpected operator
[: 19: *: unexpected operator
Run Code Online (Sandbox Code Playgroud)
我想问题是空文件夹,如:
/var/panel/starter/cs16/*
Run Code Online (Sandbox Code Playgroud)
我不知道如何处理这个问题.
bla*_*ith 11
为什么要使用脚本,当你可以实现相同的使用时:
find path_to_folder -iname "*.sh"
Run Code Online (Sandbox Code Playgroud)