변수를 구분하는 나누기 값

변수를 구분하는 나누기 값

내 생각은 변수의 일부 값을 분리하는 것입니다. 다음은 필요한 출력을 얻지 못하는 스크립트의 예입니다. 이 아이디어에 대한 제안 사항이 있나요?

A=12-13-14
IFS="-" read -p I J K <<<$A

echo Lin number is $I
echo Michele Number is $J
echo Gina number is $K

내 예상 결과는 다음과 같습니다

Lin number is 12
Michele number is 13
Gina number is 14

답변1

bash를 사용하고 계시기 때문에 '여기에 문자열'( )을 사용하고 계신 것 같습니다 <<<. 또한 일부 다른 셸에서는 read -p보조 프로세스에서 읽는 일이 발생합니다. 이는 코드가 주석에서 말한 것과 다른 결과를 생성한다는 것을 의미합니다. 그래서 그것은 매우 가능합니다 bash.

유틸리티 -p의 옵션은 옵션 매개변수를 사용합니다. 이 옵션 매개변수는 사용자에게 값을 요청할 때 대화형 프롬프트로 사용되는 문자열입니다. 코드에서 프롬프트는 문자열이 되고 변수 sum에는 표준 입력(문자열)을 통해 데이터가 할당됩니다. 그렇기 때문에 빈 문자열입니다.readbashIJKread$A$Iecho

$ read -p 'Enter value: ' thing
Enter value: hello
$ printf '%s\n' "$thing"
hello

-r대신에 다음과 같은 것을 사용할 것이라고 가정합니다 -p.

A=12-13-14
IFS='-' read -r I J K <<<"$A"

printf 'Lin number is %s\n'     "$I"
printf 'Michele Number is %s\n' "$J"
printf 'Gina number is %s\n'    "$K"

관련 정보