我正在运行 ubuntu 14.04 LTS(无 GUI)
我希望编写一个bash
执行以下操作的脚本:
检查 ssh 服务是否启用或禁用
如果启用,则禁用,如果禁用,则启用。
每次我运行这个脚本时它都应该打开/关闭SSH 服务。
答案1
这是一个小的 shell 脚本,
#!/bin/bash
if `service ssh status | grep -q running`
then
service ssh stop
echo "ssh stopped by user"
else
service ssh start
echo "ssh started by user"
fi
另存为后script.sh
,运行,(赋予其执行权限)
sudo ./script.sh
或没有执行许可
sudo bash ./script.sh
答案2
toggleSsh.sh
将以下内容保存在名为“ ”的文件中
#!/bin/bash
stat=`status ssh`
echo $stat
#stat is returned like: ssh start/running, process 1602
goal=`echo $stat|cut -f2 -d" "|cut -f1 -d/`
#cut the 2nd field afetr 1st space; then cut the 1st field before "/" to get the "goal" of the ssh job.
#ignoring the status
echo $goal
if [ "$goal" == "start" ];
then
service ssh stop
else
service ssh start
fi
运行此脚本,因为sudo toggleSsh.sh
命令service
需要root权限。
您可以通过考虑 ssh 作业的状态(等待、启动、预启动、生成、启动后、运行、停止前、停止、终止或停止后)而不是仅仅考虑目标(启动/停止)来微调上述脚本。阅读以man status
了解有关如何使用该status
命令的更多信息。