gpt4 book ai didi

linux - linux脚本的source和./execution的区别

转载 作者:太空宇宙 更新时间:2023-11-04 12:59:17 25 4
gpt4 key购买 nike

csh:

set a=0 
echo "a is $a"

当我执行 ./my_script.csh 输出时:

a is 

当我执行 source my_script.csh 输出时:

a is 0 

为什么会这样。据我所知,./执行使用新的 shell。

最佳答案

没错,./my_script.csh 启动一个新的 shell,并使用 #!您应该在文件顶部选择要运行的 shell(在本例中应该是 csh)。

source my_script.csh 在当前 shell 中运行脚本。

如果脚本在例如 bash shell 中运行不正确,set a=0 不是在 bash 中设置环境变量的语法,因此代码将无法按预期运行,因为您正在使用错误的外壳。

看看#!在文件的顶部。是否正确?

关于linux - linux脚本的source和./execution的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34705234/

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