gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:30:15 31 4
gpt4 key购买 nike

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

如果我在 bash -c "..." 之外运行命令,它会起作用。

我需要使用 bash -c "..." 因为我想确保人们正在使用 Bash(没有 sh、tcsh 等)

工作:

bash> source /neuro/arch/scripts/neuro-fs stable;echo $XAPPLRESDIR;
/neuro/arch/x86_64-Linux/packages/matlab/MATLAB_Compiler_Runtime/current/X11/app-default

不工作:

bash> bash -c "source /neuro/arch/scripts/neuro-fs stable;echo $XAPPLRESDIR;"

在Bash脚本中,我们定义XAPPLRESDIR如下:

export XAPPLRESDIR=/neuro/arch/x86_64-Linux/packages/matlab/MATLAB_Compiler_Runtime/current/X11/app-defaults

#!/bin/bash 是否在脚本开头似乎没有任何区别。

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

最佳答案

“bash -c”中的变量扩展发生在“bash -c”运行之前;你需要做类似的事情:

bash -c "source /neuro/arch/scripts/neuro-fs stable;echo \$XAPPLRESDIR;"

关于bash - bash -c ""中的源 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23543313/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com