我在一个文件中存储了带端口的ip地址,我想使用shell脚本读取它。因此,文件serverIP
具有数据192.168.1.17:3000
。我正在使用以下bash脚本进行读取
IPAddressFile=/home/geo/serverIP
SERVER_IP_PORT=$(<$IPAddressFile)
echo $SERVER_IP_PORT
但是此脚本echo
为空字符串。我在哪里犯错?
答案 0 :(得分:2)
如果要使用$(<...)
之类的仅bash语法,则脚本必须使用bash而不是sh运行。
因此,运行bash yourscript
或添加#!/bin/bash
(或类似名称)shebang,标记文件可执行文件,然后将其作为命令调用,例如./yourscript
作为一种高效且与POSIX sh兼容的替代方法:
IFS= read -r SERVER_IP_PORT <"$IPAddressFile"