백틱 내에서 변수를 사용하는 방법

백틱 내에서 변수를 사용하는 방법

"$input" 인수를 받아들이고 (다른 무엇보다도) 이를 프로그램에 지시하고 출력을 수집하는 bash 스크립트가 있습니다.

현재 내 라인은 다음과 같습니다

OUTPUT=`./main.exe < $input`

하지만 다음과 같은 오류가 발생합니다.

$input: ambiguous redirect

올바른 접근 방식은 무엇입니까?

답변1

변수 값에는 공백이 포함될 수 있습니다.

큰따옴표로 묶어야 합니다.

output=$( ./main.exe <"$input" )

이 경우 셸 bash에서는 변수를 인용해야 합니다. 그렇지 않으면 다른 셸에서는 필요하지 않을 수 있는 토큰화 및 파일 이름 글로빙이 해당 값에 대해 수행됩니다.

또한 $input여기에는 인수가 아닌 프로그램의 표준 입력 스트림에 연결될 파일의 ​​경로 이름이 있습니다 main.exe (텍스트를 오해했을 수도 있지만 어쨌든). 명령줄 인수 로 사용하려는 경우 $input명령은 다음과 같습니다.

output=$( ./main.exe "$input" )

관련된:

반품:

관련 정보