iOS 장치에서 새 사용자를 만드는 과정을 단순화하는 스크립트를 만들려고합니다. 다음은 세분화 된 단계입니다.
# fullname="USER INPUT"
# user="USER INPUT"
# group=$user
# uid=1000
# gid=1000
# home=/var/$user
# echo "$group:*:$gid:$user" >> /private/etc/group
# echo "$user::$uid:$gid::0:0:$fullname:$home:/bin/sh" >> /private/etc/master.passwd
# passwd $user
# mkdir $home
# chown $user:$group $home
보시다시피 일부 필드에는 입력이 필요합니다. 스크립트에서 변수에 대한 입력을 요청하려면 어떻게해야합니까?
답변
사용 read -p
:
# 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
또 다른 옵션은 명령 줄에서이 정보를 제공하도록하는 것입니다. Getopts가 최선의 선택입니다.
bash 쉘 스크립트에서 getopts를 사용하여 길고 짧은 명령 줄 옵션 가져 오기
답변
답변
이 시도
#/bin/bash
read -p "Enter a word: " word
echo "You entered $word"