제발 내가 잘못한 오류를 반환하는 코드가 있습니다.쉘 : for 루프는 구문 오류를 반환합니다.
#!/bin/bash
YESTERDAY="$(date -d '1 day ago' '+%Y%m%d')"
LOGDIR=/tm/
for ssp in {1,2,3,4,5,6,7,8};do
for hour in {00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23};do
logFilee="$LOGDIR"log_$YESTERDAY"$hour"_s_$ssp.txt
logFile2e="$LOGDIR"log_$YESTERDAY"$hour"_s_dr_$ssp.txt
echo $logFilee
echo $logFile2e
done;
done;
출력은 다음과 같습니다
/tmp/log_20141022{00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23}_s_{1,2,3,4,5,6,7,8}.txt
/tmp/log_20141022{00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23}_s_dr_{1,2,3,4,5,6,7,8}.txt
이 출력이 정확하지 않습니다!
당신을 감사
을 내가 재현 할 수 있습니다 산출. 당신이 쓴 스크립트는 예상대로 작동합니다. –
스크립트를 어떻게 실행하고 있습니까? 'sh scriptname'으로 실행하면'bash'가 아니라'sh'에 의해 실행됩니다. 어쨌든'{foo, bar, ...} '구문을 사용하는 것은 의미가 없습니다. 당신은'for ssp for 1 2 3 4 5 6 7 8;을 쓸 수 있습니다. do' –
sh 명령으로 실행했지만 작동하지 않습니다. – mond14