如何制作一个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脚本从文件中获取此信息,
如果我将它们放在同一个文件中将会起到完美的作用,但是我知道它不在文件之外,还有什么想法?
让我知道,谢谢。
答案 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)