首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash -c中的源bash脚本"“

bash -c中的源bash脚本"“
EN

Stack Overflow用户
提问于 2014-05-08 13:33:58
回答 1查看 1.2K关注 0票数 3

我试图在bash -c "..."命令中获取bash脚本,但它不起作用。

如果我在bash -c "..."之外运行该命令,它就能工作。

我需要使用bash -c "...",因为我希望确保人们使用Bash (不使用sh、tcsh等)。

工作:

代码语言:javascript
复制
bash> source /neuro/arch/scripts/neuro-fs stable;echo $XAPPLRESDIR;
/neuro/arch/x86_64-Linux/packages/matlab/MATLAB_Compiler_Runtime/current/X11/app-default

不工作:

代码语言:javascript
复制
bash> bash -c "source /neuro/arch/scripts/neuro-fs stable;echo $XAPPLRESDIR;"

在Bash脚本中,我们将XAPPLRESDIR定义为:

代码语言:javascript
复制
export XAPPLRESDIR=/neuro/arch/x86_64-Linux/packages/matlab/MATLAB_Compiler_Runtime/current/X11/app-defaults

脚本开头的#!/bin/bash似乎没有什么区别。

在这种情况下,出口是一种“坏”做法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-08 13:44:54

"bash -c“中的变量展开发生在运行"bash -c”之前;您需要执行以下操作:

代码语言:javascript
复制
bash -c "source /neuro/arch/scripts/neuro-fs stable;echo \$XAPPLRESDIR;"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23543313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档