这个bash脚本有什么问题?
我有一个主文件夹,其中有许多文件夹,每个文件夹包含许多文本文件。我需要在所有这些文本文件上运行一个程序。到目前为止,我有以下bash脚本,当我尝试执行时,它会抛出一个语法错误:这个bash脚本有什么问题?,bash,Bash,我有一个主文件夹,其中有许多文件夹,每个文件夹包含许多文本文件。我需要在所有这些文本文件上运行一个程序。到目前为止,我有以下bash脚本,当我尝试执行时,它会抛出一个语法错误: #!/bin/bash for dir in mainfolder/* for file in ${dir}/*.txt do echo “${file}” ./myprogram ${file} done done 我得到的错误是: ./myscript:line 5:for的意外标记附近出现语法
#!/bin/bash
for dir in mainfolder/*
for file in ${dir}/*.txt
do
echo “${file}”
./myprogram ${file}
done
done
我得到的错误是:
./myscript:line 5:for的意外标记附近出现语法错误
./myscript:第5行:
对于${dir}/*.txt'中的文件,您忘记了第一个操作
#!bin/bash
for dir in mainfolder/*
do
for file in "${dir}"/*.txt
do
echo "${file}"
./myprogram "${file}"
done
done
注意所有变量引用周围的引号。正如在评论中提到的,这是一个重要的问题。还请记住引号是“”,而不是“”。请参见shellcheck.net这仍然使用“漂亮的”引号(
“
而不是”
)。哦,第4行也应该引用${dir}
。第7行应该引用${file}
。