我是 bash 脚本的初学者,但在使用以下脚本时遇到了麻烦。
我想处理来自标准输入的所有给定参数。然后我检查这些参数是否是普通的文本文件。如果是,我想将它们存储到数组中,然后我想遍历整个数组。但是我收到一个错误: 文件+ =(“$@”)行上的单词未解释 我试图像这样写文件=(“$@”) 但随后我在行上收到以下错误:“( " 意外(期待“fi”)
如果您有任何建议,我将不胜感激。先感谢您。
for file in "${argv[@]}"; do
if [ -d "$file" ]
then
echo "Error: '"$file"' is directory!" > /dev/stderr
continue
fi
if [[! -f "$file"] || [! -r "$file"]]
then
echo "Error: '"$file"'!" > /dev/stderr
continue
fi
file "$file" | grep text >& /dev/null
if [ ! $status ]
then
files+=("$@")
else
echo "Error: '"$file"' not a text file!" > /dev/stderr
fi
done
for file in "${files[@]}"; do
# .....
done