用于添加 2 个变量的简单 shell 脚本
simple shell script to add 2 variables
您好,我正在尝试让这个简单的脚本运行,但我一直遇到错误:
bday.sh[9]: 2015-1987: 未找到
bday.sh[9]: yearb=: 未找到
到目前为止,这是我的代码
echo "what year is it?"
read "year"
echo "what year were you born?"
read "byear"
"yearb"="$( ( "$year"-"$byear" ) )"
echo "$yearb"
提前谢谢大家!
感谢引用,但它实际上只适用于参数扩展,例如 echo "$yearb"
。
未扩展的变量名(没有前面的$
)不需要引用,有时也不需要:
yearb=$(( year - byear ))
此外,语法 $((
(算术展开)是其自身的语法元素,因此不允许有空格。
$( (..) )
是 $(..)
(命令扩展)和嵌套的 (..)
(子 shell)。
这是一个完整的例子:
$ cat script
echo "what year is it?"
read "year"
echo "what year were you born?"
read "byear"
yearb=$(( $year - $byear ))
echo "$yearb"
$ bash script
what year is it?
2015
what year were you born?
1970
45
加法也可以这样
回声“$a + $b” |公元前
您好,我正在尝试让这个简单的脚本运行,但我一直遇到错误:
bday.sh[9]: 2015-1987: 未找到
bday.sh[9]: yearb=: 未找到
到目前为止,这是我的代码
echo "what year is it?"
read "year"
echo "what year were you born?"
read "byear"
"yearb"="$( ( "$year"-"$byear" ) )"
echo "$yearb"
提前谢谢大家!
感谢引用,但它实际上只适用于参数扩展,例如 echo "$yearb"
。
未扩展的变量名(没有前面的$
)不需要引用,有时也不需要:
yearb=$(( year - byear ))
此外,语法 $((
(算术展开)是其自身的语法元素,因此不允许有空格。
$( (..) )
是 $(..)
(命令扩展)和嵌套的 (..)
(子 shell)。
这是一个完整的例子:
$ cat script
echo "what year is it?"
read "year"
echo "what year were you born?"
read "byear"
yearb=$(( $year - $byear ))
echo "$yearb"
$ bash script
what year is it?
2015
what year were you born?
1970
45
加法也可以这样
回声“$a + $b” |公元前