真的需要一些帮助/指导,如果有人可以帮助我,我将不胜感激!
我基本上是在尝试创建一个shell脚本,如果输入了进程名称,它将终止它,但是如果它是一个根进程则不会。
现在脚本的第一部分工作正常,我可以杀死进程,但无法理解如何执行if语句。
请参阅以下代码
#!/bin/bash
echo -n 'Please enter process name:'
read process
pid1=$( ps -aef | grep -v grep | grep $process | awk'{print $2}' )
pid2=$( ps -NU root | grep $process | awk '{print $1} ' )
if { $pid1 -eq $pid2 ];
echo Kill $process
killall -e $process
else
echo "Unable to kill $process as this is a root process."
fi
我输入根进程时遇到的错误是第6行:[:参数太多
任何帮助非常感谢
答案 0 :(得分:1)
将if { $pid1 -eq $pid2 ];
替换为if [[ $pid1 == $pid2 ]]; then