리눅스(우분투) 셀 프로그래밍 공부중입니다.
글쓴이: mtg1 / 작성시간: 목, 2010/10/14 - 4:10오전
#!/bin/sh
num=1
nun=1
nuk=1
cd ~/test/
while [ "$num"-le 5 ]
do
%touch ${num}.txt
while [ "$nun"-le"$num" ]
do
${num}.txt<<a
nun=$(($nun+1))
done
if [ $nuk="3" ] then
cp ${num}.txt ~/test_dest
nuk=1
else
nuk=$((nuk+1))
fi
num=$(($num+1))
done뭐랄까...반복해서 파일을 생성하고, 거기에 글자를 삽입하는 프로그래밍..인데;
syntax에러네요...;
end of file unexpected (expecting "done")
..뭐가 문제인걸까요;
Forums:


일단 의심되는
일단 의심되는 부분은 비교연산자를 붙여쓴것("$num"-le)과 ${num}.txt< 일단 임의로 돌아가게만 짜 보았습니다.
pubuntu@pubuntu:~/myHome$ cat nice1.sh
#!/bin/sh
num=1
nun=1
nuk=1
cd ./test/
while [ $num -le 5 ]
do
nun=1
`touch ${num}.txt`
while [ $nun -le $num ]
do
echo a >> ${num}.txt;
nun=$(($nun+1))
done
if [ $nuk -eq 3 ]
then
cp ${num}.txt ./test_dest
nuk=1
else
nuk=$((nuk+1))
fi
num=$(($num+1))
done
일단 의심되는
일단 의심되는 부분은 비교연산자를 붙여쓴것(
"$num"-le)과${num}.txt<<a부분입니다.일단 임의로 돌아가게만 짜 보았습니다.
pubuntu@pubuntu:~/myHome$ cat nice1.sh #!/bin/sh num=1 nun=1 nuk=1 cd ./test/ while [ $num -le 5 ] do nun=1 `touch ${num}.txt` while [ $nun -le $num ] do echo a >> ${num}.txt; nun=$(($nun+1)) done if [ $nuk -eq 3 ] then cp ${num}.txt ./test_dest nuk=1 else nuk=$((nuk+1)) fi num=$(($num+1)) done확실히..
비교연산자 고치고 나니 돌아가기는 하는데...;
돌아가고 나니 이제는 1.txt not found(이렇게 1000까지...;;)
....어라...
...그래서 test 폴더 들어가보면 1000.txt까지 다 있고....
...리눅스 명령어를 잘못 쓴 걸까요?;;
...아하하..
이것저것 해보니까 결국 실행은 되긴 되네요..
답변 감사합니다.
파일 not found 뜨는 것은 좀 더 생각해봐야겠지만;
도와주셔서 감사합니다.
댓글 달기