이 명령은 잘 작동하며 호스트 이름을 인쇄합니다.
awk -v MYHOST=$(hostname) '{printf(MYHOST)}'
그러나 달리는 중
awk -v MYHOST=$(hostname -I) '{printf(MYHOST)}'
던진다
awk: cannot open "ip address" (No such file or directory)
답변1
당신은해야명령 대체에는 항상 큰따옴표를 사용하십시오.. 다음 명령이 수정되어 오류가 발생하지 않습니다.
awk -v MYHOST="$(hostname -I)" '{printf(MYHOST)}'
따옴표가 없는 경우 $(hostname -I)
가능한 결과는 다음과 같습니다(확장 후).
awk -v MYHOST= '{printf(MYHOST)}'
이것은 공식적으로 작동합니다.
awk -v MYHOST=1.2.3.4 '{printf(MYHOST)}'
이것은 공식적으로 작동합니다.
awk -v MYHOST=1.2.3.4 5.6.7.8 '{printf(MYHOST)}'
이는
5.6.7.8
스크립트 및{printf(MYHOST)}
구문 분석할 파일로 처리됩니다.cannot open '{printf(MYHOST)}' (No such file or directory)
해당 파일이 없으면 오류는 다음과 같습니다 .awk -v MYHOST=1.2.3.4 5.6.7.8 9.10.11.12 … '{printf(MYHOST)}'
여기서는
…
0개 이상의 추가 주소를 나타냅니다. 이는5.6.7.8
스크립트 및9.10.11.12 … '{printf(MYHOST)}'
구문 분석할 여러 파일로 처리됩니다. 오류에는 존재하지 않는 첫 번째 "파일"이 언급됩니다(예cannot open '9.10.11.12' (No such file or directory)
: .귀하의 경우에 이런 일이 일어났습니다.