x
세 개의 변수 가 있고 stdin에서 첫 번째, 세 번째, 여섯 번째 단어를 읽고 y
싶습니다 z
(말이 많이 안 되지만 단지 예일 뿐입니다). stdin은 다음과 같습니다.
foo turtle bar dog bird baz qwer asdf
x
되어야 한다 foo
, y
되어야 한다 bar
, 그리고 z
되어야 한다baz
어떻게 stdin의 일부를 가져와서 변수로 읽을 수 있나요?
답변1
문자열을 배열로 읽고 배열 요소 포인터를 사용하여 X, Y 및 Z 변수를 선언합니다.
#! /bin/bash --posix
#STRING="foo turtle bar dog bird baz qwer asdf"
read -p "Input String: " STRING
IFS=' ' read -a arr <<< "$STRING"
X=${arr[0]}
Y=${arr[2]}
Z=${arr[5]}
printf "x is $X\ny is $Y\nz is $Z\n"
답변2
1~6번째를 읽고 원하는 것을 사용하세요.
read -p "Enter values: " one two three four five six