여기 문서를 사용하여 gnuplot 스크립트를 gnuplot에 전달하고 명령줄 인수를 gnuplot에 전달할 수 있습니까?
내 bash 파일에는 보통 다음과 같이 작성합니다.
#!/bin/bash
#set up code in here...
gnuplot -c script.gp $first $second
하지만 나는 모든 것을 bash 파일에 넣고 싶었기 때문에 그렇게 했습니다.
#!/bin/bash
#set up code in here...
gnuplot -c <<- EOF
do for [j=0:ARG1] {
do for [i=4:ARG2] {
plot '${data}' index j using 2:i with lp
}
}
EOF $first $second
warning: here-document at line 87 delimited by end-of-file (wanted
하지만 악명 높은 EOF')`` 오류가 발생했습니다 . $data
, $first
및 는 $second
이전에 bash 스크립트에 정의되어 있습니다.
EOF에 관계없이 다음 줄에 명령줄 인수를 넣으면 값 관련 명령을 찾을 수 없음 오류가 발생합니다 $first
.
여기 내 문서에서는 탭 들여쓰기만 사용합니다. 뒤에 공백이 없습니다.
답변1
해결책은 다음과 같습니다. 매개변수를 제거하고 수동으로 교체합니다.
#!/bin/bash
#set up code in here...
gnuplot <<- EOF
do for [j=0:${first}] {
do for [i=4:${second}] {
plot '${data}' index j using 2:i with lp
}
}
EOF
답변2
다음과 같이 시도해 볼 수 있습니다.
gnuplot -c /dev/stdin "$first" "$second" <<-EOF
do for [j=0:ARG1] {
do for [i=4:ARG2] {
plot '${data}' index j using 2:i with lp
}
}
EOF
Gnuplot이 불평합니다.
line 4: No previous filename
하지만 스크립트 파일을 사용할 때 동일한 오류가 발생하므로 이는 불완전한 코드와 관련이 있을 수 있습니다.