shell导入其他文件
我在网上找到三种shell导入外部文件的方法。
test1.sh:
#!/bin/bash
echo "this is test1"
通过.导入
通过. filename的方式导入。
test2.sh:
#!/bin/bash
. test1.sh
echo "this is test2"
执行test2.sh的结果:
this is test1
this is test2
通过source导入
通过source filename的方式导入。
test2.sh:
#!/bin/bash
source test1.sh
echo "this is test2"
执行test2.sh的结果:
this is test1
this is test2
通过sh导入
通过sh filename的方式导入。
test2.sh:
#!/bin/bash
sh test1.sh
echo "this is test2"
执行test2.sh的结果:
this is test1
this is test2
Note
导入文件时,如果只是指定文件名,如. test1.sh,那么导入的是本文件同级目录下的文件。
如果指定了路径如. ./test1.sh,那么导入的是执行命令时,命令所处的目录下,这种方式存在的问题就是如果把test2.sh放进PATH路径中的话,在其他地方执行这个脚本会存在./test1.sh文件找不到的问题,即使两个文件都放进了PATH路径中。