我不能让这一行在我的bash脚本上运行:
echo "VAR=$(ps ax | grep myprocess)" >> myprocess
如何逃避$(ps ax | grep myprocess)
扩展?
我想要一个包含此内容的myprocess
文件:
VAR=$(ps ax | grep myprocess)
编辑:我使用的示例过于简单,但它旨在显示具体问题。这是真正的命令:
su - -c "echo \"#!/bin/bash\nPID=$(ps ax | grep elasticsearch-${VERSION}.jar | grep -v grep | cut -f1 --delimiter=\" \" -s)\nif [ -n \"\${PID}\" ];\nthen\n\tkill \${PID}\n\techo \"ElasticSearch process killed.\"\nelse\n\techo \"ElasticSearch is not running.\"\nfi\" >> /home/user/start_elastic" user
一些注意事项:
\$(
,但它没有用。在创建start_elastic
文件之前执行评估。