gpt4 book ai didi

linux - 在 bash 脚本中调用的终端内抛出命令

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:49 24 4
gpt4 key购买 nike

我想为工作区配置制作一个脚本,我需要它来打开 ssh 终端,在其中我需要抛出一个 bash 命令(因为默认是 tcsh),然后在 bash 上抛出另一个命令,我希望终端保持在最后的状态。

我在脚本中有这个:

...
cd xxx/xxx
bash
source setup.sh
...
exit 0

当脚本结束时,我的终端停留在 bash 中,但没有执行后续步骤。

我也尝试过这个:

ssh -X URL << '___' 
cd xxx/xxx
bash -c "source setup.sh"
___

如果我仅在 ssh URL 内启动 bash -c,它会起作用,但如果我完成它,它会结束执行并将我置于 ssh URL 之外。如果我在最后执行 bash -i ,它会显示“bash:此 shell 中没有作业控制”并将我转出。 -exec 选项的作用相同。

我怎样才能正确地做到这一点?

最佳答案

您可以在标准输入上将任意复杂的脚本传递给 bash

bash <<'____'
source setup.sh
: things
# no explicit exit really needed
____

关于linux - 在 bash 脚本中调用的终端内抛出命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37585884/

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