
내용이 있는 파일을 읽기 위해 test.sh를 만듭니다.
item1:return1
item2:return2
...
item10:return10
test.sh 내용
VAR1=$1
VAR2= `grep "^${VAR1}:" /home/path/file | awk '{print $2;}'`
echo "${VAR2}";
테스트 실행
sh test.sh item1
반품
: not found test.sh:
: not found test.sh:
Centos에서 동일한 것을 실행할 때. 반품
return1
awk 명령에 어떤 문제가 있습니까?
답변1
awk 명령에는 아무런 문제가 없습니다. 메시지가 표시된 것처럼 문제를 test.sh
찾을 수 없습니다. CentOS는 아마도 경로를 PATH 변수로 설정합니다.
다음으로 실행하세요 sh ./test.sh item1
(test.sh가 현재 디렉터리에 있다고 가정합니다).
편집: 스크립트에 더 주의를 기울여야 했는데 :
grep에서 문제가 발생했습니다.
VAR1=$1
VAR2=`grep "${VAR1}\:" file | awk '{print $2}'`
echo "${VAR2}";
그러나 awk는 기본적으로 :
구분 기호로 인식하지 못하므로 사용해야 했습니다.
item1: return1
item2: return2
이 변경 없이 서버나 Centos에서 어떻게 작동할 수 있는지 전혀 모르겠습니다.