我有scriptA.sh
:
#!/bin/bash
total=0
total=$((total+1))
export total
我希望将这个脚本放在这样的while循环中:
#!/bin/bash
max=0
while [[ "$max" -lt 2 ]]; do
bash scriptA.sh
max=$(echo $total)
echo Max: $max
sleep 1
done
但是$max
的值总是空的,这是我想要的结果:
Max: 1
Max: 2
如何将变量从脚本传递到while循环?
答案 0 :(得分:0)
.
代替bash
来执行当前上下文中的下标,而不是生成新的下标。export
。$total
,只在下标中更改它。$total
的值复制到$max
,而不是echo
。#!/bin/bash
total=$(($total+1))
#!/bin/bash
total=0
max=0
while [[ "$max" -lt 2 ]]; do
. scriptA.sh
max=$total
echo Max: $max
sleep 1
done
打印:
最大:1 最大:2