gpt4 book ai didi

shell - POSIX shell 中的换行符

转载 作者:行者123 更新时间:2023-12-05 01:31:19 25 4
gpt4 key购买 nike

我正在解析 avahi-browse 工具的输出,我的脚本应该与 POSIX 兼容。

接下来我会这样做:

      local _dnssd=`avahi-browse -apt`
if [ -z "$_dnssd" ]; then
echo "No info"
else
IFS='
' # it's new line character in IFS
for _row in $_dnssd
do
local _tmpIFP="$IFS"
IFS=";"
case "$_row" in
...
esac
IFS="$_tmpIFS"
done
fi

我真的不喜欢将换行符分配给 IFS。是否有可能以更好的方式替换它?

我尝试了stackoverflow的一些建议,但没有奏效:

IFS=$(echo -e '\n')

avahi-浏览输出:

+;br0;IPv4;switch4B66E4;_http._tcp;local
+;br0;IPv4;switch4B66E4;_csco-sb._tcp;local

最佳答案

IFS 变量中的 \n 之后添加一个空格,然后再次删除该空格:

IFS="$(printf '\n ')" && IFS="${IFS% }"
#IFS="$(printf '\n ')" && IFS="${IFS%?}"
printf '%s' "$IFS" | od -A n -c

关于shell - POSIX shell 中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21880891/

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