linux - 添加一个带有字符串的数字变量

标签 linux bash variables string

我要求用户输入一个数字,如果该数字大于 2,那么我想将字符串 -n 添加到该数字。这是我的代码:

read -p "Enter a number " result_sort
if [ $result_sort >2 ]; then

   result_sort = $result_sort + " -n"

fi

echo "$result_sort" 

我收到错误:找不到命令

最佳答案

您的代码应如下所示:

read -p "Enter a number " result_sort
if [ $result_sort -gt 2 ]; then

   result_sort=$(echo "$result_sort -n")

fi

echo "$result_sort" 

有两个错误:

  1. test您使用的实用程序 ( [) 不接受 <>作为更大和更少。这些字符是 shell 中的重定向字符(请参阅 I/O Redirection )。您在 if 子句中的陈述始终为真,即使 $result_sort小于 2。您正在写入该命令的结果 [ $result_sort ]到名为 2 的文件.

  2. 两个字符串的连接不能用你的方式完成。

关于linux - 添加一个带有字符串的数字变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120795/

相关文章:

Python 捕获 stdout/stderr 并在查看输出时记录到文件

linux - 使用相同变量的两个 shell 脚本

python - 从 bash 启动脚本并定向输出

linux - 绕过 "-"在 bash 中作为算术运算符处理

JavaScript 反射 : get variables

java - 检查字符串值是否等于 double 值?

Swift 中 dispatch_get_specific 的 Linux 编译错误

linux - 使用 sed 匹配第 5 个字段中的文本

linux - 如何同时运行两个 bash 脚本而不重复相同的操作?

安卓 : Decrement a variable daily