如何用 source 在 shell 脚本里面执行另一个 shell 脚本?test1.sh
#!/bin/bashexport string=123
echo ${string}test2.sh#!/bin/bash. ./test1.sh
echo ${string}现在只能用这种方法才能输出两个123
test2.sh 里面如果写成 source 则不行
#!/bin/bashsource test1.sh
echo ${string}会报错 source: not found各位大神帮忙看看应该怎么做,本来想在 Makefile 里面使用 source 导出环境变量的,但是发现两个脚本都跑不通。
#!/bin/bashexport string=123
echo ${string}test2.sh#!/bin/bash. ./test1.sh
echo ${string}现在只能用这种方法才能输出两个123
test2.sh 里面如果写成 source 则不行
#!/bin/bashsource test1.sh
echo ${string}会报错 source: not found各位大神帮忙看看应该怎么做,本来想在 Makefile 里面使用 source 导出环境变量的,但是发现两个脚本都跑不通。
解决方案 »
- 新人求助,老鸟帮忙看一下...
- Linux系统服务器更换主板以后需要如何配置
- 学习操作系统时的问题
- 大家帮忙看一下这个IP配置好了之后为什么还是ping不同。。。
- 突然挂载的硬盘变成只读。求助!无解。
- saltstack 把数据返回到mysql服务器获取不到数据!求大神帮忙看看是什么问题
- U盘安装便捷式Kali卡死在a job is runnning for live-config.
- Linux下Vmware能打开客户机但进不去怎么办?
- 急!我在写Linux模块,makefile文件时出了问题
- shell命令的识别?
- Ubantu: sudo: unable to resolve host,为什么要这样设计?
- Ubuntu无法正常启动
source test1.sh ${string}
那如果 test1.sh 是在 根目录下怎么写 source .//test1.sh 吗?
#!/bin/bashbash /test1.sh
echo ${string}你的路径写法有问题 在脚本里面不要用./和../之类的 请写完整路径!
还有 根目录下是source /test1.sh 面不是source .//test1.sh
脚本虽然写的是 /bin/bash,但得确认 /bin/bash 是否真的是 bash 而不是其它的 shell的软连接。可以用一点 . 替换 source,比如 . test1.sh,大多数 shell 支持 . 的语法。两者功能相同。