사용자로부터 입력을받는 스크립트를 Linux에 작성해야합니다.어떻게 bash를 사용하여 입력을 분할 할 수 있습니까?
는 예를 들어, 입력 라인 수 : I는 입력에서 "Ruba"
를 취할 필요가
name = Ruba
, 그래서 내가 어떻게 입력을 나눌 수 있으며, 마지막 부분을?
사용자로부터 입력을받는 스크립트를 Linux에 작성해야합니다.어떻게 bash를 사용하여 입력을 분할 할 수 있습니까?
는 예를 들어, 입력 라인 수 : I는 입력에서 "Ruba"
를 취할 필요가
name = Ruba
, 그래서 내가 어떻게 입력을 나눌 수 있으며, 마지막 부분을?
"내부 필드 분리 자"인 IFS
in bash을 사용할 수 있으며 bash에게 단어를 구분하는 방법을 알려줍니다. IFS
을 공백 (또는 구분 기호)으로 설정하고 입력을 다시 배열로 가져 와서 입력 내용을 읽을 수 있습니다.
#!/usr/bin/env bash
echo "Type in something: "
# read in input, using spaces as your delimiter.
# line will be an array
IFS=' ' read -ra line
# If your bash supports it, you can use negative indexing
# to get the last item
echo "last item is: ${line[-1]}"
테스트 실행 :
$ ./inscript.sh
Type in something:
name = ruba
last item is: ruba
당신이 이름을 읽으려면 :
#!/bin/bash
read -p "Name: " name
echo $name
위의 코드는 이름과 출력이 묻는 메시지를 표시합니다. 귀하의 의견은 "이름 = 루바"
#!/bin/bash
read name
name=$(echo $name | sed 's/.*=\ *//')
echo $name
경우
은 위의 코드는 "이름 = 루바"와 같은 라인을 읽고 = 후 = 공백 앞에 모든 문자를 제거합니다.
#!/bin/bash
read input
echo $input |cut -d'=' -f2 | read name
#!/bin/bash
read input
awk -F"= " '{print $2}' <<<"$input"
쉘? bash, sh, csh, zsh, qzs, ksh, hash? –
루비, 파이썬, 루아, CoffeeScript? –
'루바 '를 입력으로 사용한다면, 당신은 무엇을 나누고 있습니까? '마지막 부분'은 무엇입니까? – birryree