Я довольно новичок в создании сценариев bash, но мне удалось написать скрипт, который работает почти отлично, и я действительно горжусь собой. Тем не менее, у меня есть эта проблема, и я не понимаю, почему это не сработает. Часть моего текущего кода заключается в следующем:bash script if statement error
for begin in 1 51
do
echo -e "$begin"
url="http://something&start-index=$begin&something"
wget -O $HOME/Music/YoutubePlaylist/output$begin.txt $url 2>&1
cat output1.txt > output.txt
if ! [[ "$begin" = 1 ]]
then
cat output$begin.txt >> output.txt
fi
done
Он отлично работает.
Однако, если я добавлю 101 в первую строку, это не сработает. Любая идея почему? То, что он на самом деле делает, когда я смотрю на свои временные файлы, записывает только то, что находится в output1.txt в output.txt, и ничего больше.
PS: output1.txt и output51.txt не пусты, а output101.txt пуст. Может быть, То будет намек ....
пожалуйста, добавьте «установить -x» в сценарии оболочки перед для заявления. Это способ отладки Shell Script – user1428716
Пробовал ли вы 'wget'ting URL-адрес вручную для вашего« 101 »случая? – Anew