過去幾周我花了很多時間在這裏發佈。我終於認爲我與學習bash的關係更加密切,但是我的代碼有一個問題,我不能爲我的生活弄清楚爲什麼它不會運行。我可以在終端中運行每一行,並返回一個結果,但由於某種原因,當我指出它運行時,它什麼都不會做。我得到一個語法錯誤:意外的詞(期待「做」)。bash將某些文件名打印爲文本
#!/bin/bash
image="/Home/Desktop/epubs/images"
for f in $(ls "$image"*.jpg); do
fsize=$(stat --printf= '%s' "$f");
if [ "$fsize" -eq "40318" ]; then
echo "$(basename $f)" >> results.txt
fi
done
我錯過了什麼?
你'ls'命令被作爲一個榮耀的回聲 - 假設它在所有工作,這它可能不會在'「$ image」'和'* .jpg'之間沒有'/'。只需在'$ image「/ *。jpg中輸入'f'; do'。而且,'--printf ='和''%s''之間會有一個額外的空間,這會破壞你的'stat'命令。 –
@sean解釋你的意思請 –
@CuriousGeorge你已經在StackOverflow上提出了5個其他問題,並且從未將其中一個答覆標記爲答案。 –