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 

になるようにawk割り当てることができますか?これは Bash パラメータであり、衝突を引き起こすからです。動作しません。$2$b$2\$2

答え1

awk次のようにシェルで変数を設定できます。

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

引用する

関連情報