"$input" 인수를 받아들이고 (다른 무엇보다도) 이를 프로그램에 지시하고 출력을 수집하는 bash 스크립트가 있습니다.
현재 내 라인은 다음과 같습니다
OUTPUT=`./main.exe < $input`
하지만 다음과 같은 오류가 발생합니다.
$input: ambiguous redirect
올바른 접근 방식은 무엇입니까?
답변1
변수 값에는 공백이 포함될 수 있습니다.
큰따옴표로 묶어야 합니다.
output=$( ./main.exe <"$input" )
이 경우 셸 bash
에서는 변수를 인용해야 합니다. 그렇지 않으면 다른 셸에서는 필요하지 않을 수 있는 토큰화 및 파일 이름 글로빙이 해당 값에 대해 수행됩니다.
또한 $input
여기에는 인수가 아닌 프로그램의 표준 입력 스트림에 연결될 파일의 경로 이름이 있습니다 main.exe
(텍스트를 오해했을 수도 있지만 어쨌든). 명령줄 인수 로 사용하려는 경우 $input
명령은 다음과 같습니다.
output=$( ./main.exe "$input" )
관련된:
반품: