在返回非交互式 shell之前,我在 .bashrc 的最顶部有这个
FOO="BAR"; export FOO
echo "HELLO WORLD"
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
我的主目录中有一个脚本 test.sh:
#!/bin/bash
echo "A"
echo $FOO
echo "B"
我执行 test.sh。输出:
A
B
2个问题:
- 为什么我看不到 $FOO 的价值?
- 为什么我没有看到“HELLO WORLD”?
编辑:我认为带有 #!/bin/bash 的脚本会触发一个子shell,它将再次调用 .bashrc,我错了吗?
编辑:即使我确实从另一台主机调用脚本,我也不会看到任何值。即便如此,.bashrc 也会被执行???
ssh remotehost "/home/username/test.sh"