我想弄清楚如何让这个工作.. 我对Bin Bash不太熟悉, 但我有这个脚本:
variables.cfg包含:
pvp =“0400 1200 2000”
#!/bin/sh
CONFIG_FILE="/home/nacion/variables.cfg"
source $CONFIG_FILE
#Arreglar tiempo
ATM (){
if [ $((1+2)) -gt 24 ];
then
$a=$1 + $2
$b=$a-2400
echo $b
fi
}
declare -a VcHorarios=($pvp)
for HoraAR in "${VcHorarios[@]}"
do
我不知道为什么没有通过参数
ES=$(ATM $HoraAR 500)
HorarioSv="&b&lMX $((HoraAR-300)) - AR $HoraAR H - ES $ES H"
done
echo $HorarioSv
结果:
[root@anda ~]# /home/nacion/vcprueba.sh
&b&lMX 1700 - AR 2000 H - ES H
[root@ns500347 ~]#
提前感谢您的帮助
答案 0 :(得分:1)
您可以从$
内的变量名称中删除$((...))
。 $1
和$2
不是变量;它们是位置参数。
if [ $(($1 + $2)) -gt 24 ];
一旦设法输入if
语句的正文,正确的命令就是
a=$(( $1 + $2 ))
b=$(( a - 2400 )) # or $(( $a - 2400 )), if you prefer