shell에서 두가지 방법으로 입력받기

asd0201의 이미지

일단 쉘에서 입력 받을때 명령어 옆에 예를 들어서

bs.sh 234 241 라고 입력하면 234를 number1로 241를 number2 이런식으로 지정하는 방법이랑

대화형으로 입력해서

첫번째 입력해주세요 : 234
read number1

하는 방법이 있잖아요. 같은 쉘안에서 두가지 방법을 다 쓰고 싶을땐 어떻게 해야할지 모르겠습니다. ㅠ

예를 들어서 vs.sh 2342 23421 34224 라고 입력을 한다면 "2342 23421 34224" 를 통채로 변수 지정을 하고,
vs.sh 라고만 쓰고 엔터를 치면

첫번째 입력해주세요 :

라고 대화형이 나왔으면 좋겠습니다. ㅠ

아무리 찾아봐도 이런건 없는 것같아서 ㅠ 묘안이 있으신가요??

태훈의 이미지

* bs.sh

#!/bin/sh
echo -n "첫 번째 입력해주세요 : "
read input
echo "첫번째 커맨드 라인 인자 = " $1 ", 두번째 커맨드 라인 인자 = " $2 ", 입력 받은 값 = " $input

* 실행

$ sh bs.sh 123 456
첫 번째 입력해주세요 : 789
첫번째 커맨드 라인 인자 = 123, 두번째 커맨드 라인 인자 = 456, 입력 받은 값 = 789

Just do it!

익명 사용자의 이미지

if [ $# -eq 0 ]; then
echo -n input
read a
fi

이런걸 원하시는지?