如果语句(Debian - Bash)

时间:2015-04-28 10:33:52

标签: bash shell unix if-statement debian

真的需要一些帮助/指导,如果有人可以帮助我,我将不胜感激!

我基本上是在尝试创建一个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行:[:参数太多

任何帮助非常感谢

1 个答案:

答案 0 :(得分:1)

if { $pid1 -eq $pid2 ];替换为if [[ $pid1 == $pid2 ]]; then