我想在通过myscript调用ssh user@server myscript之前执行shell init
我试过:
# .bash_profile
echo DDDDDDDDDDDDDDDDDDDDDdddd这是以互动方式进行的:
ssh user@server
DDDDDDDDDDDDDD
user@host> 但它不是这样工作的(DDDDD.失踪)
ssh user@server date
Thu 01 Jul 2021 09:01:11 AM CEST如何在myscript通过ssh调用之前执行init内容
发布于 2021-07-02 06:42:44
我找到了解决办法。
首先,它没有工作,因为我在我的end of my .bashrc中添加了"echo DDDDDDDDD“。
如果我在top of .bashrc中添加它,它就能工作。
现在,我的shell行被执行:
ssh user@server date
DDDDDDDDD
Fri 02 Jul 2021 08:40:38 AM CEST.bashrc中的这些行(在Ubuntu上似乎是默认的)是造成混乱的原因:
# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac发布于 2021-07-02 00:59:55
如果您想在运行date命令之前源一个初始化脚本,可以这样做。
ssh user@server 'bash -c ". /path/to/init.sh; date"'其中,/path/to/init.sh是指向所需初始化脚本的路径。
例如,如果您想要获取user的.bash_profile,您可以这样做。
ssh user@server 'bash -c ". ~/.bash_profile; date"'如果您想在server上以登录shell的形式执行bash,您可以这样做
ssh user@server 'bash -l -c "date"'https://stackoverflow.com/questions/68205714
复制相似问题