我花了一整天的时间来寻找一种用shell脚本解析字符串的好方法。字符串用作某些应用程序的调用参数。
它们看起来像:
parsingParams -c "id=uid5 prog=/opt/bin/example arg=\"-D -t5 >/dev/null 1>&2\" info='fdhff fd'" start
我只能使用shell脚本。我试着使用sed和cut命令,但没有什么效果好。
我的尝试是:
prog=$(echo $@ | cut -d= -f3 | sed 's|\s.*$||')
它返回了prog的正确值,但是对于arg的值,我找不到一个好的方法来获取它。
INFO参数是可选的,也可以保留它。
有谁能想出解决这个问题的好办法吗?
多谢提前
最佳答案
坎特伯雷大学
$ eval "id=uid5 prog=/opt/bin/example arg=\"-D -t5 >/dev/null 1>&2\" info='fdhff fd'"
$ echo $id
uid5
$ echo $prog
/opt/bin/example
$ echo $arg
-D -t5 >/dev/null 1>&2
$ echo $info
fdhff fd
关于linux - 使用Shell脚本解析复杂的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47801037/