gpt4 book ai didi

linux - 从文件中读取路径值, append 字符串覆盖shell linux中的变量

转载 作者:太空宇宙 更新时间:2023-11-04 03:41:03 25 4
gpt4 key购买 nike

我的输入文件:env.properties

JAVA_HOME=/home/Desktop/jdk1.7.0_67

shell 代码:

ENVPROPERTIES=env.properties
JAVA_HOME=$(awk -F '[ ="]+' '$1=="JAVA_HOME"{printf $2}' $ENVPROPERTIES)
echo $JAVA_HOME/bin

->将给出:/bine/Desktop/jdk1.7.0_67

甚至尝试使用 while 循环阅读::

set -f; IFS==
while read a b line
do
echo $a/bin
echo $b/bin
done < $ENVPROPERTIES
set =f; unset IFS

将给出输出::

JAVA_HOME/bin
/bine/Desktop/jdk1.7.0_67

不知何故,它覆盖了 Path 的变量,但与其他值一起使用,例如 JAVA_HOME。

最佳答案

简单。您的 env.properties 文件是一个 DOS 文件,以 CRLF 作为换行符,因此您在 JAVA_HOME 中获取了一个回车符。在输入文件上尝试 dos2unix,或手动编辑它,以便使用 LF 作为换行符。

关于linux - 从文件中读取路径值, append 字符串覆盖shell linux中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29621381/

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