pid=`ps -ef |
grep
"/usr/sbin/csrassd" |
grep
-v
grep
| awk '{print $2}'`
grep
-v
grep
忽略
grep
本身
赋值
注意用反引号``
grep
查找可以正常执行,但是
grep
的结果无法
赋值
给一个
变量
,也无法传给sed。这里,执行下面两条语句。这些
命令
都可以正常执行,
grep
输出的查找结果,可以
赋值
给一个
变量
,也可以传给sed。找到了原因:在
shell
脚本
中,
赋值
时,改成下面这样,就可以正确执行了。但在
shell
脚本
中,
需求:再服务器上启动Springboot项目上,使用
Shell
脚本
作为启动
脚本
去执行,然后调用jar包。在本项目,需要从配置文件application.properties中去获取端口号,然后根据端口号去获取进程的PID。
问题:第一,如果获取配置文件中的端口号;第二,把端口号获取到赋予
变量
时,查询PID时
grep
的参数是
变量
,结果查询不出?
解决措施:
针对第一个问题:
在
Shell
脚本
中,使用$(linux
命令
)或`Linux
命令
`去把
命令
查询结果赋予
变量
server_port=$(cat