在C语言中,可以在if
条件内分配变量,如下所示:
if ( (age = now - mdate) > 7 ) {
# use variable `age`
}
可以在bash中执行此操作吗?
答案 0 :(得分:2)
有可能,但与if
语句无关。
在算术语句中,您可以分配给变量。
now=10
mdate=1
if (( (age=now - mdate) > 7 )); then
echo "$age"
fi
在这里,(( ... ))
是一条命令,其内容被视为算术表达式。它与if
语句的语法无关,例如
(( age=10 ))
(( wait = 16 - age ))
echo "$wait years until you can drive"
特定于bash
,您可以将条件分成多个命令:
# This works in any POSIX-compliant shell
if age=$((now - date)); [ "$age" -gt 7 ]; then
echo "$age"
fi
答案 1 :(得分:1)
您可以使用(( .. ))
:
if (( (age = now - mdate) > 7 )); then
echo "more than 7"
fi