我真的想用ps -aux
来解决这个问题。
所以我写了剧本:
#!/bin/bash
if [ $# -lt 1 ]; then
echo -n "No arguments were written"
read uid
else
uid=$1
fi
procesy=`ps -aux | awk '{if ($1=="$uid") print$2}'`
echo $procesy
为什么它不起作用?
当我写作./script root
时,我只得到空白。
答案 0 :(得分:3)
这将满足您的需求:
pgrep -U $1
答案 1 :(得分:1)
在脚本中使用awk
内的shell变量时遇到问题。使用awk
的正确方法应该是:
#!/bin/bash
if [ $# -lt 1 ]; then
echo -n "No arguments were written"
read user
else
user=$1
fi
procesy=`ps aux | awk -v usr=$user '{if ($1==usr) print$2}'`
echo $procesy