我正在尝试让我的脚本读取其中只有IP地址的文件。
我能够整理文件并获取IP,但是当我运行下面的脚本时,它又变空了。 权限不是问题,我以root用户身份运行脚本(我知道我不应该以root用户身份运行东西,但我想消除权限问题。)
我在做什么错??
TIME
答案 0 :(得分:1)
如果您的文件仅包含一个IP,我建议使用:
#! /bin/bash
filename="/tmp/newhost.txt"
IFS= read -r line < "$filename"
echo "$line"
在这种情况下,文件是否包含尾随换行都没关系。
答案 1 :(得分:0)
我尝试了使用包含两个IP地址的文件的示例,该文件分别位于两行中,并且工作正常。
然后我发出:
echo -n "12.1.1.1" > myfile
while IFS= read -r line; do
echo $line
done < myfile
...,它无法读取存储的单个IP。
正如“那个家伙”在切肉刀评论中指出的那样,我也猜想那是你的问题!
答案 2 :(得分:0)
似乎文件没有如上所述的尾随换行。提供的代码也有效。我没想到,我以为我快疯了。我使用了以前在其他文件上发布的原始代码,并且可以正常工作,但是随后它们又都包含了其他内容。
谢谢
filename="/tmp/newhost.txt"
IFS= read -r line < "$filename"
echo "$line"```