我需要使用 BASH 从变量(包含哈希数据)中获取 PID 值。由于其中的数组而导致 eval 错误。此脚本在 iPhone 上。
eval "$(launchctl list com.3radicateRD)"
eval: line 10: syntax error near unexpected token `('
eval: line 10: ` "ProgramArguments" = ('
------------------------------------------------------
{
"Label" = "com.3radicateRD";
"LimitLoadToSessionType" = "System";
"OnDemand" = false;
"LastExitStatus" = 0;
"PID" = 6810;
"TimeOut" = 30;
"ProgramArguments" = (
"bash";
"/var/mobile/Library/3radicateRD/3radicateRD";
);
};
最佳答案
我不知道 iPhone 上的 bash(或 launchctl)。但通常您需要获取包含 "PID"= ...
的行,从中删除引号、分号、空格和制表符并将结果传递给 eval
。您可以使用 grep
和 sed
来做到这一点:
eval $(launchctl list com.3radicateRD | grep '"PID"' | sed 's/["; \t]//g')
关于ios - 使用 bash 获取哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3253228/