bash脚本从文件中读取信息

时间:2014-05-24 12:00:41

标签: bash shell

如何制作一个bash脚本来告诉脚本:

我会告诉bash:

#!/bin/bash
include /usr/local/serverinfo.txt or.sh

rsync -avz $location root@$host:/$location2

要在$location

中输入的所有$host$location2/usr/local/serverinfo.txt

如何告诉bash脚本从文件中获取此信息,

如果我将它们放在同一个文件中将会起到完美的作用,但是我知道它不在文件之外,还有什么想法?

让我知道,谢谢。

2 个答案:

答案 0 :(得分:5)

您可以使用source或等效.,它将另一个文件作为参数并执行它。这假设您source的文件包含有效的bash语法。

<强> script.sh:

#!/bin/bash
var=1

source inc.sh          # or . inc.sh
echo $var

<强> inc.sh

var=2

输出:

2

答案 1 :(得分:0)

这取决于serverinfo.txt中数据的格式。 如果它是一个简单的列表,如

/this/is/the/first/location
/this/is/the/host
/this/is/the/second/location

然后你可以做

location=$(sed -n '1p' /path/to/serverinfo.txt)
host=$(sed -n '2p' /path/to/serverinfo.txt)
location2=$(sed -n '3p' /path/to/serverinfo.txt)