Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用shell脚本从文件中读取一行_Bash_Shell - Fatal编程技术网

Bash 使用shell脚本从文件中读取一行

Bash 使用shell脚本从文件中读取一行,bash,shell,Bash,Shell,我在一个文件中存储了带有端口的ip地址,我想使用shell脚本读取它。因此,文件serverIP具有数据192.168.1.17:3000。我使用下面的bash脚本来阅读它 IPAddressFile=/home/geo/serverIP SERVER_IP_PORT=$(<$IPAddressFile) echo $SERVER_IP_PORT IPAddressFile=/home/geo/serverIP SERVER_IP_PORT=$(如果要使用像$这样的纯bash语法)(如果

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

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


SERVER_IP_PORT=$(如果要使用像
$这样的纯bash语法)(如果要使用像
这样的纯bash语法$(无法使用您显示的命令进行复制。您是否将脚本复制粘贴到问题中?如果没有,脚本中的所有内容是否拼写正确?可能重复。请参考此答案:不,我在给定的接受答案中遵循相同的代码,但它不适用于我的情况,这就是我发布此问题的原因。您如何运行脚本?如果您运行
sh您的脚本
,它将不会有像
$(不可以。如果要使用bash语法,必须
bash脚本文件
,或使用
#!/bin/bash
shebang将其设置为可执行文件,然后运行
/scriptfile
。无法使用显示的命令进行复制。是否将脚本复制粘贴到问题中?如果没有,脚本中的所有内容是否拼写正确?可能重复。请回答:不,我遵循的是给定的公认答案中的相同代码,但它不适用于我的情况,这就是为什么我发布了这个问题:您如何运行脚本?如果您运行
sh yourscript
,它将不会有仅bash的扩展,例如
$(不可以。如果要使用bash语法,必须
bash脚本文件
,或者使用
#!/bin/bash
shebang将其设置为可执行文件,然后运行
/scriptfile
。什么?Charles Duffy没有使用
“${IPAddressFile}”
?@hek2mgl,…我什么时候支持在正确性或清晰性不需要大括号的情况下使用大括号?你一定是想到了其他人。…..现在,与我不同的是,我没有告诉OP他们对自定义变量使用所有大写名称:)我在想,当人们最终使用它们的时候,他们将永远不必花时间考虑是否必须使用它们,或者忘记它们。这使代码的整体情况更加清晰。诺德,这是一个很有道理的立场;我当然不会说你错了。哦,我在堆栈外编写的大多数shell脚本都溢出了这些代码ays被嵌入到代码中,Nix使用
${…}
作为转义将Nix表达式嵌入到字符串中,除非转义为
''${…}
——所以在我的现实世界中每天遵循这个约定会有点痛苦。什么?Charles Duffy没有使用
“${IPAddressFile}”
?@hek2mgl,…我什么时候支持在正确性或清晰性不需要大括号的情况下使用大括号?你一定是想到了其他人。…..现在,与我不同的是,我没有告诉OP他们对自定义变量使用所有大写名称:)我在想,当人们最终使用它们的时候,他们将永远不必花时间考虑是否必须使用它们,或者忘记它们。这使代码的整体情况更加清晰。诺德,这是一个很有道理的立场;我当然不会说你错了。哦,我在堆栈外编写的大多数shell脚本都溢出了这些代码ays被嵌入到代码中,Nix使用
${…}
作为转义将Nix表达式嵌入到字符串中,除非转义为
''${…}
——因此在我的现实世界中每天遵循这个约定会有点痛苦。
IFS= read -r SERVER_IP_PORT <"$IPAddressFile"