2013-03-28 5 views
0

나는 Sun Solaris에서 ksh로 작업 중입니다. 한 줄에 작업 이름으로 단 하나의 단어가있는 파일이 있습니다. 파일에서 모든 작업을 읽고 지정된 orde에서 하나씩 실행하려고합니다. ksh에서 어떻게하는지. 명령 프롬프트에서 다음 코드를 실행하면 문제가 없습니다. 쉘 스크립트를 통해 실행하려고하면 오류가 발생합니다.awk를 사용하여 파일의 각 행을 읽고 배열에 저장하십시오.

i=0;nawk '{print $1}' input.txt | while read -r r; 
do 
a[i]="$r"; 
echo "${a[++i]}"; 
done 

ERROR : 그래서 아마 어떻게 든 스크립트가 올바른 방법으로 호출되지 않습니다

i=0 
+ read -r r 
+ nawk {print $1} input.txt 
test2.ksh: -r: is not an identifier 

답변

0

메시지는 Bourne 쉘에서오고있다.

#!/bin/ksh 

하고 실행하고 그것을 실행합니다 : 당신은 스크립트의 첫 번째 행으로 오두막을 삽입 할 필요가

chmod +x /path/to/script 
/path/to/script 

을하거나 스크립트를 다음과 같이 호출해야합니다 :

ksh /path/to/script 
관련 문제