bas*_*er1 5 string bash case-insensitive
我正在修改一个读取用户电子邮件的脚本.这很简单,太简单了.
echo -n "Please enter your example.com email address: "
read email
email=${email%%@example.com} # removes trailing @example.com from email
echo "email is $email"
Run Code Online (Sandbox Code Playgroud)
这有效,但仅适用于小写@ example.com.我怎么能修改它来删除尾随@ example.com,不区分大小写?
如果你有bash 4:
email=${email,,}
email=${email%%@example.com}
Run Code Online (Sandbox Code Playgroud)
否则,也许只使用tr:
email=$(echo "${email}" | tr "A-Z" "a-z")
email=${email%%@example.com}
Run Code Online (Sandbox Code Playgroud)
更新:
如果您只想剥离主机(任何主机),那么这可能就是您想要的:
email=${email%%@*}
Run Code Online (Sandbox Code Playgroud)