Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何在bash的变量中存储字符串的长度?_String_Bash_Shell_Scripting - Fatal编程技术网

String 如何在bash的变量中存储字符串的长度?

String 如何在bash的变量中存储字符串的长度?,string,bash,shell,scripting,String,Bash,Shell,Scripting,我用这个作为参考 我可以运行命令来查找字符串的长度,比如 expr length 'monkey brains' 它会像预期的那样返回13 但是,我在将结果存储到变量(比如称为hi的变量)时遇到了问题。首先,我试着直截了当地问他 hi=expr length 'monkey brains' 它给出了一个“未找到命令”错误。 我的思想过程是将命令全部封装在一个字符串中,然后使用它来计算字符串。所以我得到的是 hi="expr length 'monkey brains'" echo $($hi

我用这个作为参考

我可以运行命令来查找字符串的长度,比如

expr length 'monkey brains'
它会像预期的那样返回13

但是,我在将结果存储到变量(比如称为hi的变量)时遇到了问题。首先,我试着直截了当地问他

hi=expr length 'monkey brains'
它给出了一个“未找到命令”错误。 我的思想过程是将命令全部封装在一个字符串中,然后使用它来计算字符串。所以我得到的是

hi="expr length 'monkey brains'"
echo $($hi)
但是这也不起作用-expr:syntax error

有人知道我还可以在这里尝试什么,或者为什么我的方法不起作用吗?

你可以试试这个

hi="monkey brains"
echo -n $hi | wc -c
你可以试试这个

hi="monkey brains"
echo -n $hi | wc -c

我想这就是你想要做的

$ expr length 'monkey brains'
13
要使用命令替换将输出存储到变量,请执行以下操作:

也可以使用bash中的参数展开来完成此操作:


和都是很好的信息资源。

我想这就是您要做的

$ expr length 'monkey brains'
13
要使用命令替换将输出存储到变量,请执行以下操作:

也可以使用bash中的参数展开来完成此操作:


和都是很好的信息资源。

在文章中向下滚动。它解释了如何分配长度。请看一下这个,因为它是bash,为什么不
a=“some string”;len=${a};echo“len:$len”
?或者,只需
a=“某个字符串”;echo“len:${a}”
?在文章中向下滚动。它解释了如何分配长度。请看一下这个,因为它是bash,为什么不
a=“some string”;len=${a};echo“len:$len”
?或者,只需
a=“某个字符串”;echo“len:${a}”
?我知道如何输出它。这不会分配值我知道如何输出它。这不会为mac os x用户分配valueNote,第三个选项
len=${string}
正在工作。注意,对于mac os x用户,第三个选项
len=${string}
正在工作。