
sed
다음은 사람 이름에서 공백을 제거하고 공백이 없도록 압축하는 명령을 알아내는 데 사용한 데모의 전체 복사본 입니다 .
comp
이 작업이 완료되면 나중에 스크립트에서 다시 사용할 수 있는 변수에 할당하고 싶습니다 . 여기서는 echo
어떻게 작동하는지 확인하기 위해 stdout으로 보내 려고 합니다 .
스크립트를 실행하고 내 이름을 입력하면 끝에 중괄호가 있는 그의 이름이나 내가 입력한 내용이 Ronald McDonald
반환됩니다 .RonaldMcDonald}
}
결과가 지정된 텍스트에 추가되지 않도록 하려면 어떻게 해야 합니까 ?
#!/bin/bash
function readName {
echo "Enter your full name:"
read fullName
clear
} # end readName
function cmprsName {
comp={ echo "$fullName" } | sed 's/ //g'
} # end cmprsName
function sayItNow {
echo $comp
} # end sayItNow
function allTogether {
readName
cmprsName
sayItNow
} #end allTogether
case $1 in
-h | --help ) allTogether
exit
;;
* ) echo "$0 -h"
exit 1
esac
답변1
이를 위해서는 명령 대체를 사용해야 합니다. 즉, 대신
comp={ echo "$fullName" } | sed 's/ //g'
그것은 마치
comp=$(echo "$fullName" | sed 's/ //g')
또는
comp=`echo "$fullName" | sed 's/ //g'`