【发布时间】:2017-06-25 09:48:31
【问题描述】:
大家好,我在 linux 脚本中有以下功能。
#!/bin/bash
function add1{
echo $1
var1=$1
echo input + 1 is [$var1+1]
}
add 1
我想获取输入并添加 1。因此,如果输入是 input_1,我想返回 input_2。 我的代码当前正在打印 input_1+1。我认为这是因为我正在尝试将整数添加到字符串中,但我不确定是否有其他方法可以做到这一点。 有人可以指出我正确的方向吗?
【问题讨论】:
-
input_1 是字符串类型,你怎么能指望它做正常的整数类型操作!
-
这就是我的想法。那么在这种情况下就不可能了?
-
尝试使用内置的 bash 计算器表达式更改 [$var1+1] 部分:
$(($var1 + 1))甚至$(($1+1))(您不需要var1)。另外,函数名是add1,而不是add。 -
@John - 不,这并非不可能。如果输入的性质始终相同,您可以在
_处拆分字符串,然后添加数字并再次附加拆分的前半部分。但是,您必须使用脚本来完成所有这些工作。 (注意 - 我不是 bash 专家。) -
谢谢@Am_I_Helpful 我会尝试拆分字符串。