免费注册 查看新帖 |

Chinaunix

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

[系统管理] 【以解决】关于shell传值的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-04 11:36 |只看该作者 |倒序浏览
本帖最后由 Linux9253 于 2015-08-04 13:18 编辑

#!/bin/bash
export ld="admin"
ssh 192.168.12.7 "awk 'BEGIN{system("touch $ld")}'"

语句执行后192.168.12.7上面还是没有admin文件、猜测应该是ld是本地变量、而ssh语句执行后使用的是192.168.12.7服务器环境、
192.168.12.7环境中没有ld这个变量,所以就是空、自然语句执行后也就不会创建admin文件、

但现在需要这样的功能、
请问怎么将本地的  ld  变量传值到192.168.12.7呢

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
2 [报告]
发表于 2015-08-04 11:38 |只看该作者
  1. awk -vf 'BEGIN{system("touch "f)}'
复制代码

论坛徽章:
0
3 [报告]
发表于 2015-08-04 11:57 |只看该作者
回复 2# haooooaaa


    我刚才测试了下、好像不行哦。。。

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
4 [报告]
发表于 2015-08-04 12:00 |只看该作者
本帖最后由 haooooaaa 于 2015-08-04 12:01 编辑

回复 3# Linux9253


    我只是没写全, 你可以改一下. OK

现在这个是测试过的.你自己参考下
  1. ssh testhost "awk -vf=$ld 'BEGIN{system(\"touch \"f)}'"
复制代码

论坛徽章:
0
5 [报告]
发表于 2015-08-04 12:44 |只看该作者
回复 4# haooooaaa


    非常感谢、刚才我测试了、确实可以、只是在真实环境代码中出现点问题、求大神指教

RouteDir="/opt"
ssh idc@192.168.12.7 "/sbin/route|awk -vf=$RouteDir 'BEGIN{system("/sbin/ip route |grep -v 'link'>" f/route)} {if(\$2 != "*")print $0}'>>f/route"

下面是我修改的。没有试验成功。。。
ssh root@192.168.12.7 "/sbin/route|awk -vf=$RouteDir 'BEGIN{system(\"/sbin/ip route |grep -v 'link'>\" f/route)}{if(\$2 != \"*\")print \$0}'>>f/route"

论坛徽章:
54
2015亚冠之德黑兰石油
日期:2015-07-07 13:00:1615-16赛季CBA联赛之深圳
日期:2016-03-31 09:03:5415-16赛季CBA联赛之辽宁
日期:2016-05-09 20:38:15程序设计版块每日发帖之星
日期:2016-05-12 06:20:0015-16赛季CBA联赛之四川
日期:2016-05-13 15:19:4715-16赛季CBA联赛之福建
日期:2016-05-15 20:24:34每日论坛发贴之星
日期:2016-05-16 06:20:0015-16赛季CBA联赛之吉林
日期:2016-05-26 11:49:4715-16赛季CBA联赛之广东
日期:2016-05-26 13:49:18极客徽章
日期:2016-12-07 14:05:2315-16赛季CBA联赛之广夏
日期:2016-12-20 17:33:532017金鸡报晓
日期:2017-01-10 15:19:56
6 [报告]
发表于 2015-08-04 13:04 |只看该作者
回复 5# Linux9253
  1. ssh testhost "route|awk -vf=$RouteDir 'BEGIN{system(\"ip r|grep -v link>\"f\"/route\")}{if(\$2!=\"*\")print \$0}'>>$RouteDir/route"
复制代码

论坛徽章:
0
7 [报告]
发表于 2015-08-04 13:18 |只看该作者
回复 6# haooooaaa


    太感谢你啦、完全可以、谢谢啊、真厉害。。。

论坛徽章:
20
卯兔
日期:2015-01-26 22:05:142015亚冠之萨济拖拉机
日期:2015-09-10 15:15:282015亚冠之阿尔希拉尔
日期:2015-09-25 17:37:53程序设计版块每日发帖之星
日期:2015-10-03 06:20:00程序设计版块每日发帖之星
日期:2015-12-09 06:20:00CU十四周年纪念徽章
日期:2015-12-17 09:07:15程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:34程序设计版块每日发帖之星
日期:2015-12-25 06:20:342015亚冠之广州富力
日期:2015-08-27 19:29:56每日论坛发贴之星
日期:2015-08-26 06:20:002015亚冠之阿尔希拉尔
日期:2015-05-18 17:26:27
8 [报告]
发表于 2015-08-04 13:35 |只看该作者
回复 5# Linux9253
  1. ssh root@192.168.12.7 "/sbin/route|awk 'BEGIN{system(\"/sbin/ip route|grep -v \047link\047\")}{if(\$2 != \"*\")print \$0}' > $RouteDir/route"
复制代码
不需要传参数进awk的吧。。。

论坛徽章:
0
9 [报告]
发表于 2015-08-04 14:03 |只看该作者
回复 8# songyc_2015


    好像是哦、也是可以的、awk中间的那些\真迷糊人。。谢谢啊、有学了一个、哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP