如何在shell中使用@将复杂表达式分配给变量

如何在shell中使用@将复杂表达式分配给变量,shell,Shell,我尝试使用另一个varibale lineId将值设置为变量indx @ indx = ($lineId-1)*4 + 1 但是,由于以下错误,上述方法无法工作 @:格式错误的数字。 相反,如果将一条线拆分为两条,它将起作用 @ indx = $lineId - 1 @ indx = $indx * 4 + 1 谢谢你指出我的问题。这是哪个外壳?谢谢你的关心@that otherguy。我认为外壳是cshell。这个问题没有完全解决。我猜cshell对indx=($lineId-1)*4+

我尝试使用另一个varibale lineId将值设置为变量indx

@ indx = ($lineId-1)*4 + 1
但是,由于以下错误,上述方法无法工作

@:格式错误的数字。
相反,如果将一条线拆分为两条,它将起作用

@ indx = $lineId - 1
@ indx = $indx * 4 + 1

谢谢你指出我的问题。

这是哪个外壳?谢谢你的关心@that otherguy。我认为外壳是cshell。这个问题没有完全解决。我猜cshell对indx=($lineId-1)*4+1不满意,它有括号。我使用expr命令放弃这个问题,但我仍然希望了解根本原因。谢谢你的提示。