使用Shell脚本从文件读取一行

时间:2019-01-15 12:57:35

标签: bash shell

我在一个文件中存储了带端口的ip地址,我想使用shell脚本读取它。因此,文件serverIP具有数据192.168.1.17:3000。我正在使用以下bash脚本进行读取

IPAddressFile=/home/geo/serverIP
SERVER_IP_PORT=$(<$IPAddressFile)
echo $SERVER_IP_PORT

但是此脚本echo为空字符串。我在哪里犯错?

1 个答案:

答案 0 :(得分:2)

如果要使用$(<...)之类的仅bash语法,则脚本必须使用bash而不是sh运行。

因此,运行bash yourscript或添加#!/bin/bash(或类似名称)shebang,标记文件可执行文件,然后将其作为命令调用,例如./yourscript


作为一种高效且与POSIX sh兼容的替代方法:

IFS= read -r SERVER_IP_PORT <"$IPAddressFile"