Linux “为什么?”;expr$n-1“1;工作,但是;expr$n-1“1;不';T

Linux “为什么?”;expr$n-1“1;工作,但是;expr$n-1“1;不';T,linux,bash,Linux,Bash,我有一个小问题。 如果您想测试这两个bash脚本。 这是我的工作 #!/bin/bash N=40 while [ "$N" -gt 0 ] do echo $N N=`expr $N - 1` done 这个不行 #!/bin/bash N=40 while [ "$N" -gt 0 ] do echo $N N=`expr $N -1` done 看起来问题就在这一行N=expr$N-1 我的系统是CentOS 7 bash,版本4.2.45(1)-发行版(x86_64-redhat-l

我有一个小问题。 如果您想测试这两个bash脚本。 这是我的工作

#!/bin/bash
N=40
while [ "$N" -gt 0 ]
do
echo $N
N=`expr $N - 1`
done
这个不行

#!/bin/bash
N=40
while [ "$N" -gt 0 ]
do
echo $N
N=`expr $N -1`
done
看起来问题就在这一行N=
expr$N-1

我的系统是CentOS 7


bash,版本4.2.45(1)-发行版(x86_64-redhat-linux-gnu)

-1
是两个字<代码>-1是一个单词
$N-1
是一个表达式
$N-1
是两个没有谓词的术语


你知道该怎么做,对吧?

-1
是两个词<代码>-1是一个单词
$N-1
是一个表达式
$N-1
是两个没有谓词的术语


你知道该怎么做,对吗?

第二个不起作用是什么意思?那它怎么不工作了?如果它们实际上是相同的,那么如果其中一个起作用,它们必须同时起作用。你确定它们是一样的吗?
diff
对它们说了什么?第二个不起作用是什么意思?那它怎么不工作了?如果它们实际上是相同的,那么如果其中一个起作用,它们必须同时起作用。你确定它们是一样的吗?
diff
对他们说了些什么?这是一个问题的答案吗?;-)@MarkSetchell是meta上的“苏格拉底方法”或至少是“小阴谋家”标签。谢谢小二郎,你是对的,我下次一定要看起来更好,抱歉浪费你的时间。这是一个问题的答案吗?;-)@MarkSetchell是meta上的“苏格拉底方法”或至少是“小阴谋家”标签。谢谢kojiro,你是对的,我下次一定要看起来更好,很抱歉浪费你的时间。