执行函数end_process时,我的for循环不在shell中运行。类似的循环在函数声明之外运行。我想知道它为什么不运行或如何运行。
function end_process {
{
echo "stopped on $(date)"
echo "$arguments_line"
echo "$invalid_arguments_line"
} >> spy.log
for ((i=0; i<counter; i++)); do
echo "${usernames[$i]}" >> spy.log
echo "test line"
done
echo "007 Signing Out"
exit 0
}
我正在使用bash
#!/斌/庆典
也尝试了这个
function end_process {
{
echo "stopped on $(date)"
echo "$arguments_line"
echo "$invalid_arguments_line"
} >> spy.log
for i in `seq 0 $counter`
do
#for ((i=0; i<counter; i++)); do
echo "i is $i"
echo "${usernames[$i]}" >> spy.log
echo "test line"
done
echo "007 Signing Out"
exit 0
}
但都没有效果
答案 0 :(得分:0)
问题是我正在调用函数
trap end_process SIGUSR1
但是我们需要为函数名称
添加转义字符串trap 'end_process' SIGUSR1
我想这只是RTFM的常见问题