我需要在 csh 中做一些整数数学运算(不,其他 shell 不是一个选项,bc 也不是,perl 也不是,python 也不是,句号)。
在bash中我的任务看起来像
seq 1 1 10 > m.txt #supplied from elsewhere
a=2 #supplied from elsewhere
b=3 #supplied from elsewhere
head -n $[$a*$b] m.txt # the line in question
那么问题是csh 中是否有计算表达式 $[$a*$b]
内联?
我知道我可以在 csh 中执行 @c = $a * $b
,但这不是内联的。我做了一些谷歌搜索和搜索,但到目前为止没有成功,所以非常感谢任何帮助!
最佳答案
您使用方括号是为了表示数组符号还是矩阵数学? csh 没有这样的内置功能。
否则,如果你的意思是像 bash $(($a * $b))
,你可以使用带反引号的 csh cmd-substitution 来给你
head -n `expr $a \* $b` m.txt
请注意,如果您的目标是避免产生额外的进程,这不符合您的目标,但它是“内嵌的”
编辑 我发现我打错了 $( $a * $b )
,请参阅上面的内联更正。
IHTH.
关于linux - csh 内联数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923004/