Bash에서 변수에 대한 사용자 입력을 읽으려면 어떻게 해야 합니까?
Bash에서 변수에 대한 사용자 입력을 읽으려면 어떻게 해야 합니까?
fullname=""
# Now, read user input into the variable `fullname`.
사용방법:
# fullname="USER INPUT"
read -p "Enter fullname: " fullname
# user="USER INPUT"
read -p "Enter user: " user
사용자의 확인을 얻으려면 다음 절차를 따릅니다.
read -p "Continue? (Y/N): " confirm && [[ $confirm == [yY] || $confirm == [yY][eE][sS] ]] || exit 1
또한 경로 이름 확장 및 공백으로 단어 분할을 방지하기 위해 변수를 따옴표로 묶어야 합니다.
# passwd "$user"
# mkdir "$home"
# chown "$user:$group" "$home"
네, 다음과 같은 작업을 수행할 수 있습니다.
echo -n "Enter Fullname: "
read fullname
또 다른 옵션은 명령줄에서 이 정보를 제공하는 것입니다.거기서 게톱츠 하는 게 최선이야
bash 셸 스크립트에서 getopts를 사용하여 긴 명령줄 및 짧은 명령줄 옵션 가져오기
이거 드셔보세요
#/bin/bash
read -p "Enter a word: " word
echo "You entered $word"
최대 휴대성(Bash, zsh 등):
printf "%s" "Enter fullname: "
read fullname
이것은 프롬프트를 읽을 때 가장 휴대성이 높은 방법입니다.다음과 같은 방법read -p
그리고.echo -n
셸에 따라서는 실패할 가능성이 높아집니다.
제니티도 시도해보세요!
user=$(zenity --entry --text 'Please enter the username:') || exit 1
https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html
표준 입력 또는 -u 옵션에 대한 인수로서 제공된 파일 기술자 fd로부터 1 행을 읽어, Word Spliting에서 상술한 대로 워드로 분할하고, 첫 번째 워드를 첫 번째 이름에, 두 번째 워드를 두 번째 이름에 할당하는 등의 순서로 한다.이름보다 단어가 많을 경우 나머지 단어와 해당 구분 기호가 성에 할당됩니다.
echo "bash is awesome." | (read var1 var2; echo -e "Var1: $var1 \nVar2: $var2")
bash
var1이 됩니다
is awesome
var2가 됩니다
echo -e
Ubuntu 매뉴얼에서 백슬래시 이스케이프를 해석할 수 있습니다.
따라서 전체 코드는 다음과 같습니다.
echo -n "Enter Fullname: "
read fullname
echo "your full name is $fullname."
echo -n "test type more than 2 word: "
read var1 var2; echo -e
read var1 var2; echo -e "Var1: $var1 \nVar2: $var2")
언급URL : https://stackoverflow.com/questions/18544359/how-do-i-read-user-input-into-a-variable-in-bash
'programing' 카테고리의 다른 글
WPF 텍스트 상자 바인딩 업데이트 (0) | 2023.04.13 |
---|---|
IENumerable에 ForEth 확장 방식이 없는 이유는 무엇입니까? (0) | 2023.04.13 |
레코드를 검색하기 위한 SQL 쿼리(count > 1 ) (0) | 2023.04.13 |
Git의 다른 브랜치에서 선택적으로 마지 또는 변경 사항을 선택하려면 어떻게 해야 합니까? (0) | 2023.04.13 |
NSApp Transport Security를 info.plist 파일에 추가하려면 어떻게 해야 하나요? (0) | 2023.04.13 |