gpt4 book ai didi

shell - 用空格分割/proc/cmdline 参数

转载 作者:行者123 更新时间:2023-12-02 06:46:22 45 4
gpt4 key购买 nike

大多数解析/proc/cmdline 的脚本将其分解为单词,然后使用 case 语句过滤掉参数,例如:

CMDLINE="quiet union=aufs wlan=FOO"
for x in $CMDLINE
do
»···case $x in
»···»···wlan=*)
»···»···echo "${x//wlan=}"
»···»···;;
»···esac
done

问题在于 WLAN ESSID 包含空格。用户期望设置wlan='FOOBAR'(如 shell 变量),然后使用上面的代码得到 'FOO 的意外结果,因为 for 循环在空格上分割。

是否有更好的方法从 shell 脚本中解析 /proc/cmdline ,但几乎无法评估它?

或者有一些引用技巧吗?我想我也许可以要求用户实体引用空格并像这样解码:/bin/busybox httpd -d "FOO%20BAR"。或者这是一个糟糕的解决方案?

最佳答案

set -- $(cat /proc/cmdline)
for x in "$@"; do
case "$x" in
wlan=*)
echo "${x#wlan=}"
;;
esac
done

关于shell - 用空格分割/proc/cmdline 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/993452/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com