社区
Linux/Unix社区
帖子详情
nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
wangshiruyan1989
2012-05-17 11:24:17
如题:其他文件中定义的全局变量,nohup 123.sh & 执行123.sh时不能引用吗?
...全文
1146
7
打赏
收藏
nohup执行的shell脚本,全局变量不能传递到脚本中使用吗?
如题:其他文件中定义的全局变量,nohup 123.sh & 执行123.sh时不能引用吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangshiruyan1989
2012-06-07
打赏
举报
回复
不能用export,会导致环境变量冲突。已经解决了,方法比较笨,通awk将需要的内容输入到一个临时文件中,在nohup的脚本中包含这个文件。
delphiwcdj
2012-05-20
打赏
举报
回复
要用export, 引用别的脚本用 source $(dirname $0)/xxx.sh
回南山种豆
2012-05-20
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
哦哦,改成这样:
cat mm.lib
#!/usr/bin
BASE_DIR=/usr/sbin/cluster/utilites
LOGFILE=${BASE_DIR}/123.log
cat nn.sh
#!/usr/bin
. mm.lib
export LOGFILE #这里要导出为环境变量才能被123.sh进程使用
nohup 123.sh &
……
[/Quote]
--------------------------------------------
export LOGFILE #这里要导出为环境变量才能被123.sh进程使用
是的你想在子进程中使用父进程的变量共享,必须要export的。
qq120848369
2012-05-19
打赏
举报
回复
哦哦,改成这样:
cat mm.lib
#!/usr/bin
BASE_DIR=/usr/sbin/cluster/utilites
LOGFILE=${BASE_DIR}/123.log
cat nn.sh
#!/usr/bin
. mm.lib
export LOGFILE #这里要导出为环境变量才能被123.sh进程使用
nohup 123.sh &
cat 123.sh
#!/usr/bin
cat ${LOGFILE} >456.log
wangshiruyan1989
2012-05-19
打赏
举报
回复
cat mm.lib
#!/usr/bin
BASE_DIR=/usr/sbin/cluster/utilites
LOGFILE=${BASE_DIR}/123.log
cat nn.sh
#!/usr/bin
. mm.lib
nohup 123.sh &
cat 123.sh
#!/usr/bin
cat ${LOGFILE} >456.log
nohup执行nn.sh脚本,${LOGFILE}是无法用的,怎么样才能引用LOGFILE变量呢?
qq120848369
2012-05-18
打赏
举报
回复
可以啊,使用source 脚本。
不必export,只要source 脚本就行了,全局变量就被设置到当前shell进程里了,如果希望它成为环境变量以便被之后的shell子进程使用就要export了。
mymtom
2012-05-18
打赏
举报
回复
用export
linux下101个
shell
脚本
学习linux
shell
编程的必备素材,经典
101个超酷
Shell
脚本
(英文版)-新版.rar
Wicked Cool
Shell
Scripts: 101 Scripts for Linux, Mac OS X, and Unix Systems
Linux命令及
Shell
脚本
使用
Linux命令及
Shell
脚本
使用
shell
中
变量替换.docx
基本操作
Shell
环形变量和Unix系统入门
shell
环形变量 Unix操作系统入门 word和幻灯片文档
Linux/Unix社区
23,223
社区成员
74,537
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章