bash中如何运行不识别的ssh_Bash命令的四种模式?

2026-04-02 12:231阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计728个文字,预计阅读时间需要3分钟。

bash中如何运行不识别的ssh_Bash命令的四种模式?

1. 在日常使用bash的过程中,老人会遇到通过ssh连接到服务器产生环境变量不可用的问题。命令不存在是否让人有点失望?

2.即使是在登录Armbian的时候+1. 在日常使用bash的过程中,老人会遇到通过ssh连接到服务器产生环境变量不可用的问题。

1.在日常使用bash的过程中老是会遇见通过ssh连接到服务器产生环境变量不可用。命令不存在是不是让人有点懊恼。2.还有就是在登录Armbian的时 1.在日常使用bash的过程中老是会遇见通过ssh 连接到服务器产生环境变量不可用。命令不存在是不是让人有点懊恼。 2.还有就是在登录Armbian的时候会有串数据提示但是在切换用户后并没有这种提示。是如何做到的呢

上面的问题都是由bash的运行模式的不同带来的现象。

4种模是由2种状态的交叉组合而成。interactive和non-interactive, login shell和non-shell

interactiv的意思是当前的shell是交互式, 输入命令。窗口标准输出返回结果 login shell就是用户登录到机器获得的shell

检测是否是交互式 $- i # 如果返回结果中包含i,则是交互式

检测是否登录shopt -q login_shell # 如果为真则为登录

查看加载的配置文件顺序可以通过输出当前文件名来排查。

1.interactive login shell (即交互式登录

进入该模式的操作

1.常规账号密码登录

bash中如何运行不识别的ssh_Bash命令的四种模式?

2.ssh xxx123.123.123.123

加载的配置文件及顺序

/etc/profile/root/.bash_profile # bashrc是在bash_profile里加进去的/root/.bashrc/etc/bashrc

2.non-interactive login shell (即非交互式登录

进入该模式的操作

1.bash -l xxx.sh

加载配置文件及顺序 无法验证同为login shell。加载顺序与第一种一致

3.interactive non-login shell (即交互式非登录

进入该模式的操作

1.read -p

2.ssh -t xxx123.123.123.123 "python"

3.交互式命令

加载配置文件及顺序

/root/.bashrc/etc/bashrc

4.non-interactive non-login shell (即非交互式非登录

进入该模式的操作

1.bash xxx.sh

2.ssh xxx123.123.123.123 "uptime"

加载配置文件及顺序

/root/.bashrc/etc/bashrc

Tips:

1.这里的执行顺序可能没有严格按 POSIX 的标准列出介绍的是排查这个现象的思路。可能具体到某个平台或某个 shell 又不一样。

2.可以通过上面的内容联想到运维工具 Ansible 就是在这个特性上建立起来的

3.通过这个可以实现登录式套娃。例宿主机-》跳板机-》目标机,

ssh -t root123.123.123.123 "ssh root10.19.1.125"

4.无需登录目标机器利用上面的环境和本地的数据进行计算。

ssh root123.123.123.123 "python process.py" > 2020_income.excel

当然这里面还可以玩出更多的花样有知道的小伙伴可以分享出来哟。

;欢迎关注我的公众号「编程感悟」,一起交流讨论;
标签:4种运行

本文共计728个文字,预计阅读时间需要3分钟。

bash中如何运行不识别的ssh_Bash命令的四种模式?

1. 在日常使用bash的过程中,老人会遇到通过ssh连接到服务器产生环境变量不可用的问题。命令不存在是否让人有点失望?

2.即使是在登录Armbian的时候+1. 在日常使用bash的过程中,老人会遇到通过ssh连接到服务器产生环境变量不可用的问题。

1.在日常使用bash的过程中老是会遇见通过ssh连接到服务器产生环境变量不可用。命令不存在是不是让人有点懊恼。2.还有就是在登录Armbian的时 1.在日常使用bash的过程中老是会遇见通过ssh 连接到服务器产生环境变量不可用。命令不存在是不是让人有点懊恼。 2.还有就是在登录Armbian的时候会有串数据提示但是在切换用户后并没有这种提示。是如何做到的呢

上面的问题都是由bash的运行模式的不同带来的现象。

4种模是由2种状态的交叉组合而成。interactive和non-interactive, login shell和non-shell

interactiv的意思是当前的shell是交互式, 输入命令。窗口标准输出返回结果 login shell就是用户登录到机器获得的shell

检测是否是交互式 $- i # 如果返回结果中包含i,则是交互式

检测是否登录shopt -q login_shell # 如果为真则为登录

查看加载的配置文件顺序可以通过输出当前文件名来排查。

1.interactive login shell (即交互式登录

进入该模式的操作

1.常规账号密码登录

bash中如何运行不识别的ssh_Bash命令的四种模式?

2.ssh xxx123.123.123.123

加载的配置文件及顺序

/etc/profile/root/.bash_profile # bashrc是在bash_profile里加进去的/root/.bashrc/etc/bashrc

2.non-interactive login shell (即非交互式登录

进入该模式的操作

1.bash -l xxx.sh

加载配置文件及顺序 无法验证同为login shell。加载顺序与第一种一致

3.interactive non-login shell (即交互式非登录

进入该模式的操作

1.read -p

2.ssh -t xxx123.123.123.123 "python"

3.交互式命令

加载配置文件及顺序

/root/.bashrc/etc/bashrc

4.non-interactive non-login shell (即非交互式非登录

进入该模式的操作

1.bash xxx.sh

2.ssh xxx123.123.123.123 "uptime"

加载配置文件及顺序

/root/.bashrc/etc/bashrc

Tips:

1.这里的执行顺序可能没有严格按 POSIX 的标准列出介绍的是排查这个现象的思路。可能具体到某个平台或某个 shell 又不一样。

2.可以通过上面的内容联想到运维工具 Ansible 就是在这个特性上建立起来的

3.通过这个可以实现登录式套娃。例宿主机-》跳板机-》目标机,

ssh -t root123.123.123.123 "ssh root10.19.1.125"

4.无需登录目标机器利用上面的环境和本地的数据进行计算。

ssh root123.123.123.123 "python process.py" > 2020_income.excel

当然这里面还可以玩出更多的花样有知道的小伙伴可以分享出来哟。

;欢迎关注我的公众号「编程感悟」,一起交流讨论;
标签:4种运行