免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3838 | 回复: 12
打印 上一主题 下一主题

[系统管理] 如何获取远程服务器环境变量 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-07-16 16:27 |只看该作者 |倒序浏览
[root@pc-1 work]# ssh 1.1.1.1 echo $timeout
在服务器1.1.1.1上面有设置环境变量timeout=10,请问远程ssh方式如何输出1.1.1.1的timeout环境变量?这样直接输出的其实是本机的。

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
2 [报告]
发表于 2016-07-16 21:26 来自手机 |只看该作者
ssh 1.1.1.1 'echo $timeout'

论坛徽章:
0
3 [报告]
发表于 2016-07-17 13:59 |只看该作者
不对的,得出的结果是空的  也就是本地的结果,远程获取服务器主机名什么的都是没问题的,就是远程的环境变量无法获取。回复 2# RE_HASH


   

论坛徽章:
0
4 [报告]
发表于 2016-07-17 14:01 |只看该作者
有没有大神能破题,这个是不是交互、非交互,登陆、非登陆而造成的环境变量差异?

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
5 [报告]
发表于 2016-07-18 03:34 来自手机 |只看该作者
不应该啊?下面的命令啥结果?
export timeout=12345; ssh 1.1.1.1 'echo $timeout'
按你的描述会是12345.
但是我猜还是你以前看到的值,或者空值。
ssh 1.1.1.1 set 返回啥?

论坛徽章:
10
15-16赛季CBA联赛之同曦
日期:2016-06-11 19:22:4115-16赛季CBA联赛之深圳
日期:2020-05-31 16:13:5615-16赛季CBA联赛之同曦
日期:2020-01-28 12:42:47每日论坛发贴之星
日期:2016-08-09 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00每日论坛发贴之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-04 06:20:0015-16赛季CBA联赛之佛山
日期:2021-02-26 09:33:41
6 [报告]
发表于 2016-07-18 09:03 |只看该作者
你那个环境变量是在哪里写的?是在/etc/profile里写的?还是你直接在命令行export timeout=10 ?

论坛徽章:
0
7 [报告]
发表于 2016-07-18 09:19 |只看该作者
按你的命令echo肯定是1234,但是这个是本地的,如果在远程服务器export一个变量然后ssh echo是空的,其实就是ssh用命令只能获取部分变量,比如env也只是出来一部分值,并不是完整的回复 5# RE_HASH


   

论坛徽章:
0
8 [报告]
发表于 2016-07-18 09:23 |只看该作者
不是在profile里面定义的,是一个自定义文件,每次修改了source一下,然后prifile会引用,如果服务器重启在读取到profile时会也会source一下自定义文件,使里面的参数生效。回复 6# ll104567


   

论坛徽章:
10
15-16赛季CBA联赛之同曦
日期:2016-06-11 19:22:4115-16赛季CBA联赛之深圳
日期:2020-05-31 16:13:5615-16赛季CBA联赛之同曦
日期:2020-01-28 12:42:47每日论坛发贴之星
日期:2016-08-09 06:20:00程序设计版块每日发帖之星
日期:2016-08-09 06:20:00每日论坛发贴之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-12 06:20:00程序设计版块每日发帖之星
日期:2016-07-06 06:20:00程序设计版块每日发帖之星
日期:2016-07-04 06:20:0015-16赛季CBA联赛之佛山
日期:2021-02-26 09:33:41
9 [报告]
发表于 2016-07-18 09:36 |只看该作者
你要是打算每次用户登录的话都会读取那个变量、应该写到bashrc里面source
以下来自百度
(1)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
(2)/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
(3)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(4)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
(5)~/.bash_logout:
当每次退出系统(退出bash shell)时,执行该文件.
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc
/profile中的变量,他们是"父子"关系。
(6)~/.bash_profile 是交互式login 方式进入 bash 运行的~/.bashrc ,~/.bashrc是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
因为profile一般只加载一次、开机以及新用户登录、所以ssh连接过去只是相当于开了个shell、写到用户家目录的bashrc文件里的话、每次用户登录都可以加载~
不知道这么弄能不能搞定、这我还真没试过、不过理论上没问题

论坛徽章:
0
10 [报告]
发表于 2016-07-18 10:12 |只看该作者
模板就是那么设定的,所以不可能把参数写到profile、bashrc等文件中。 回复 9# ll104567


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP