如何大写+连接字符串的单词?
(首字母大写,所有其他字母小写)
例:
input = "jAMeS bOnD"
output = "JamesBond"
使用bash版本3.2.57(1)-release(x86_64-apple-darwin14)
如何"重新分配"或"更改"读入变量的现有值.
如果用户输入字符串IAmString,我想propInput存储该值iamstring.我只是为了清酒而打印到控制台.
read userInput
echo ${userInput} | tr '[:upper:]' '[:lower:]'
Run Code Online (Sandbox Code Playgroud) 我的剧本:
echo "input yes or no"
read a
if [ $a = "yes" ] or [ $a = "Yes" ] or [ $a = "YES" ];
then
command
else
command
done
Run Code Online (Sandbox Code Playgroud)
我有一个想法,我将首先转换答案(使用tr A-Z a-z命令),之后与字符串进行比较......是吗?
可能重复:
在bash shell脚本中将字符串转换为小写
例如:
echo *****Language translator*****
echo please choose the language
for Chinese enter c
for French enter f
Run Code Online (Sandbox Code Playgroud)
以一种简单的方式,我希望能够识别中文的C和c; 对f和F来说同样的事情,被认为是法国人.
有没有办法将所有内容转换为小写?
这里是部分代码:
如果[$ language == c];
然后
回显"输入要翻译的单词:"
读取word_to_translate
我接受一些字符串作为我的脚本的用户输入,例如 -
read -p "User's full name : " FULLNAME
read -p "User's Manager's name : " MGRNAME
.
.
Run Code Online (Sandbox Code Playgroud)
我希望所有输入字符串都大写,即输入字符串中的每个单词都大写。
我写了一个简单的函数,例如 -
capitalize()
{
$1=`echo ${$1}|sed -e "s/\b\(.\)/\u\1/g"`
}
Run Code Online (Sandbox Code Playgroud)
并将这个函数称为 -
capitalize FULLNAME
Run Code Online (Sandbox Code Playgroud)
它给出了以下错误 -
line 77: ${$1}: bad substitution
Run Code Online (Sandbox Code Playgroud)
还尝试过间接扩展 -
capitalize()
{
$1=`echo ${!1^}`
}
Run Code Online (Sandbox Code Playgroud)
它抛出以下错误 -
line 77: FULLNAME=Kamlesh: command not found
Run Code Online (Sandbox Code Playgroud)
请帮助提供正确的语法或任何其他方式来实现此目的。
示例输出 - 我正在读取 FULLNAME 变量中的输入。当我调用 Capitalize() 时,它应该更新 FULLNAME 变量本身内的值。
例如,如果用户输入是 - “kamlesh gallani”
如果我现在调用大写 FULLNAME,那么 FULLNAME 应该包含“Kamlesh Gallani”