gpt4 book ai didi

linux - 如何附加冒号零,:0 onto the end of an IP address string?

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:38 24 4
gpt4 key购买 nike

我有一个简单的 Linux shell 脚本,用于解析在 Windows 中生成的与 Linux VM 共享的文件。我想从这个文件中获取一个IP地址,并在末尾附加一个冒号0(:0),以便设置DISPLAY环境变量。当我尝试这样做时,我得到了奇怪的结果。

这是脚本:

#!/bin/bash
LOCAL_HOST=`grep IPv4 /mnt/hgfs/share/localip | awk 'NR ==1 {printf "%s\n", $14 }'`

# for some reason, it overwrites the string from the beginning
COLON_ZERO=':0'
export DISPLAY=${LOCAL_HOST}${COLON_ZERO}
echo $DISPLAY

# This obviously works, but doesnt have the COLON_ZERO on the end
echo "export DISPLAY="$LOCAL_HOST

下面是运行这个脚本的输出:

# ./display.sh
:09.107.26.25
export DISPLAY=159.107.26.25

# bash --version
GNU bash, version 3.2.48(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.

为了以防万一,这里是脚本中使用的文件的 grep 结果:

# grep IPv4 /mnt/hgfs/share/localip
IPv4 Address. . . . . . . . . . . : 159.107.26.25
IPv4 Address. . . . . . . . . . . : 192.168.223.1
IPv4 Address. . . . . . . . . . . : 192.168.132.1

当我将冒号零附加到 IP 地址字符串的末尾时,为什么会得到这个奇怪的结果?如何更改脚本以获得正确的结果?

最佳答案

您的输入文件包含 Windows 行结尾 (\r\n)。从 ip 地址中删除\r 字符。

关于linux - 如何附加冒号零,:0 onto the end of an IP address string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11609855/

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