2024-10-03 13:23:03 发布
网友
我正在将一个python文件(abnormalattr.py)从一台linux服务器复制到另一台linux服务器,然后在第二台服务器上使用以下命令执行它:
abnormalattr.py
ssh root@machinename python tmp/abnormalattr.py
这将不返回任何值。 但如果我从第二台linux服务器执行如下操作:
…它返回正确的值。你知道吗
这个脚本引用了os.environ["HOSTNAME"](相当不必要地斜着引用)。你知道吗
os.environ["HOSTNAME"]
bash的实例作为交互式登录shell被调用,由ssh hostname创建到配置为使用bash的帐户,而没有进一步的参数源/etc/profile(如果存在),然后是第一个存在的~/.bash_profile、~/.bash_login或~/.profile。(交互式非登录shell运行~/.bashrc)。你知道吗
ssh hostname
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
运行ssh hostname 'some-command'时,该命令将在非交互的shell中运行。因此,它没有/etc/profile或任何其他脚本的好处。你知道吗
ssh hostname 'some-command'
要以不依赖shell初始化的方式获取主机名,请使用Python中的socket库:
socket
import socket print(socket.getfqdn())
这个脚本引用了
os.environ["HOSTNAME"]
(相当不必要地斜着引用)。你知道吗bash的实例作为交互式登录shell被调用,由
ssh hostname
创建到配置为使用bash的帐户,而没有进一步的参数源/etc/profile
(如果存在),然后是第一个存在的~/.bash_profile
、~/.bash_login
或~/.profile
。(交互式非登录shell运行~/.bashrc
)。你知道吗运行
ssh hostname 'some-command'
时,该命令将在非交互的shell中运行。因此,它没有/etc/profile
或任何其他脚本的好处。你知道吗要以不依赖shell初始化的方式获取主机名,请使用Python中的
socket
库:相关问题 更多 >
编程相关推荐