从脚本运行时Linux变量值不起作用

从脚本运行时Linux变量值不起作用,linux,bash,unix,Linux,Bash,Unix,这是MyScript.sh 我想将脚本作为脚本中的文本执行,我已尝试这样做: bash -c " #!/bin/bash STR=6 echo $STR " 打印空行 我尝试将bash-c替换为sh-c或eval,所有选项的作用都是相同的,为什么会这样?如何解决?使用单引号避免在当前shell中进行解释: $ cat myscript.sh bash -c 'STR=6; echo $STR' ./myscript.sh 6 使用单引号而不是双引

这是
MyScript.sh

我想将脚本作为脚本中的文本执行,我已尝试这样做:

bash -c "
    #!/bin/bash
    STR=6
    echo $STR
"
打印空行


我尝试将
bash-c
替换为
sh-c
eval
,所有选项的作用都是相同的,为什么会这样?如何解决?使用单引号避免在当前shell中进行解释:

$ cat myscript.sh
bash -c 'STR=6; echo $STR' 
./myscript.sh
6

使用单引号而不是双引号…@Jetchisel works!,谢谢