Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell for循环中的算术运算 我有一个C++代码,我想转换成POSIX SH代码: for(int j=(i-(i%9));j_Shell - Fatal编程技术网

Shell for循环中的算术运算 我有一个C++代码,我想转换成POSIX SH代码: for(int j=(i-(i%9));j

Shell for循环中的算术运算 我有一个C++代码,我想转换成POSIX SH代码: for(int j=(i-(i%9));j,shell,Shell,如果您的shell是/bin/bash(正如问题最初指出的那样),那么更改要比您认为需要的少得多,因为。在某些版本中可以使用更压缩的语法,但为了在不同的解析器版本中安全起见,最好使用大量的空格: for (( j = ( i - ( i % 9) ); j < ( ( i - ( i % 9 ) ) + 9 ); j++ )); do echo "$j"; done 至于您最初的尝试,大括号扩展在解析过程中很早就发生了——在对任何变量的值求值之前;因此,它们不能与任何非静态的数字一起使

如果您的shell是
/bin/bash
(正如问题最初指出的那样),那么更改要比您认为需要的少得多,因为。在某些版本中可以使用更压缩的语法,但为了在不同的解析器版本中安全起见,最好使用大量的空格:

for (( j = ( i - ( i % 9) ); j < ( ( i - ( i % 9 ) ) + 9 ); j++ )); do echo "$j"; done


至于您最初的尝试,大括号扩展在解析过程中很早就发生了——在对任何变量的值求值之前;因此,它们不能与任何非静态的数字一起使用。

如果您的shell是
/bin/bash
(正如问题最初指出的那样),所做的更改远远少于您认为需要的更改,因为。在某些版本中,可以使用更为压缩的语法,但为了跨解析器版本安全起见,最好使用大量的空格:

for (( j = ( i - ( i % 9) ); j < ( ( i - ( i % 9 ) ) + 9 ); j++ )); do echo "$j"; done


至于您最初的尝试,大括号扩展在解析过程中很早就发生了——在计算任何变量的值之前;因此,它们不能用于任何非静态的数字。

不要在代码中包含图像——复制/粘贴实际文本。这样StackOverflow自己的语法高亮显示就可以工作,并且使用屏幕阅读器或基于文本的浏览器实际上可以阅读您的问题(而且,即使图像链接中断,问题仍然可用)…此外,即使使用硬编码的数字,
{{1..9}
-类型括号扩展是一种bashism,不保证在
/bin/sh
中可用。不要在代码中包含图像——复制/粘贴实际文本。这样StackOverflow自己的语法高亮显示就可以工作,使用屏幕阅读器或基于文本的浏览器的人实际上可以阅读您的问题(而且,即使图像链接中断,问题仍然可用)……此外,即使使用硬编码的数字,
{{1..9}
-类型的大括号扩展是一种bashism,不能保证在
/bin/sh
中可用。获得意外的EOF”)”你的shell真的是bash吗?如果它是
#!/bin/sh
,那就是另一个shell。另外,不要使用图像链接:我无法复制/粘贴它们来测试,任何重新键入都有引入错误的空间。是的,它是#!/bin/sh样式如果你的问题是关于
/bin/sh
,而不是
bash
,请编辑你的问题,不要再说
bash
。得到一个意外的EOF“)”你的shell真的是bash吗?如果是
#/bin/sh
,这是一个不同的shell。另外,不要使用图像链接:我无法从它们复制/粘贴到测试,任何重新键入都有引入错误的空间。是的,它是#/bin/sh样式如果您的问题是关于
/bin/sh
,而不是
bash
,请编辑您的问题,使其不再说
bash