使用shell重置变量

时间:2018-12-03 10:52:44

标签: shell ash

我使用shell脚本重置变量。

 #!/bin/sh 
reset_var() { 
while [ "$#" -gt "0" ] do  
 echo "\$1 is $1"   
unset $1 done 
} 

i=50  
j= 40 
reset_var i j

但是这不起作用!

目的是将i和j变量重置为0

有什么方法可以重置许多变量!

2 个答案:

答案 0 :(得分:1)

在您所处的环境中,您不需要reset_var函数,只需执行以下操作即可:

i=50
j=40
unset i j

也就是说,可能的reset_var函数将是:

reset_var() {
  while [ "${#}" -ge 1 ] ; do 
   unset "${1}"
   shift
  done
}

答案 1 :(得分:0)

传递一些参数时,您有一个无限循环。您的重置功能应如下所示:

reset_var() {
for arg
do
  unset ${arg}
done
}