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