awk如何将参数$2设置为$b?

awk如何将参数$2设置为$b?

在 Bash 脚本中:

#!/usr/bin/bash

#grep()
#{
#grep -q
#}

if [[ -z $1 ]];
then
  echo "usage: pkill -signal process name "
fi

if [[ -z $2 ]];
then
  echo "error: not enough parameters "
  exit
fi    

kill9="9"
kill15="15"

if [ $1 -eq $kill9 ]
then
  set "9" 
else
  set "15"
fi

ARRAY=(
  `ps -ef|grep $2 |grep -v grep|awk '{print \$2}'`
)

pkill()
{
  PIDTODIE=${2}
  for i in ${ARRAY[@]} ;do kill $1  $i;done
}

pkill $1 $2 

是否可以分配 in awk$2使其变为$b?因为$2是 Bash 参数并且给我带来了冲突。也\$2不起作用。

答案1

您可以awk从 shell 中设置变量,如下所示:

$ somevar=4
$ echo | awk -v my_var="$somevar" '{print "My var is " my_var}'
My var is 4

参考

相关内容