UNIX中的算术语法错误



这个变量正在获得字符串值..我无法在其上进行任何算术操作。

考虑下面的文件 -

ABC。txt

我将其变成可变。A

a = abc.txt

它的记录如下 -

TLR | 12345

变量= $(grep -i ^tlr $ {a} | cut -d'|'-f2 | awk'{print $ 1}'(

此变量正在获得一个字符串值..我无法在其上进行任何算术操作。

请建议我如何做。

假设您正在编写bash脚本,则可以使用以下内容:

A=abc.txt
variable=$(grep -i ^TLR ${A} | cut -d'|' -f2)
echo $variable;
# Use the $((...)) syntax:
variable2=$((variable + 5))
echo $variable2
# Call the external expr program:
variable3=`expr $variable + 5`
echo $variable3

解决问题的解决方案可能是在第6行上:为了在变量上执行算术操作,您可以使用$((...))语法;在示例中,它将5添加到现有的variable中。示例的输出应为:

12345
12350
12350

在第10行中,提供了一种替代解决方案,该解决方案调用Expernal expr程序。

请参阅此网页,以获取有关Bash脚本中算术表达式的更多示例。

最新更新