어떻게 이런 일을 할 수 있습니까?
if [[ $variable = name ]]
then
$variable=fname
fi
if [[ $variable = surname]]
then
$variable=sname
fi
따라서 변수를 사용자에게 친숙한 이름으로 설정하는 다른 웹 기반 스크립트가 있기 때문에 결과에 따라 값이 변경되지만 이를 올바른 이름으로 변경하려면 스크립트가 필요합니다. 사용자가 둘 이상을 선택할 수 있으므로 선택에 따라 변경해야 합니다.
답변1
할당 구문을 확인하세요. 하나도 없어야 합니다 $
. $
이다확장하다변하기 쉬운.
# standard sh syntax
case $variable in
(name) variable=fname;;
(surname) variable=sname;;
(*) printf >&2 '%s\n' "$variable not supported"; exit 1;;
esac
또한보십시오:
# ksh93/bash/zsh specific
typeset -A map=(
[name]=fname
[surname]=sname
)
variable=${map[$variable]?$variable not supported}
(Bash의 연관 배열은 빈 문자열을 키로 지원하지 않습니다.)
어떤 경우에도 사용자 입력을 쉘 스크립트로 사용하는 웹 CGI를 작성하고 싶지 않을 것입니다. 특히 쉘 스크립팅 전문가가 아닌 경우 보안 허점이 발생할 것이 거의 확실하기 때문입니다.