最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

全球实时:为什么说《ps1屠龙刀》是awk、sed的恩人?

来源:博客园


(资料图片)

---【前言】---

《kasini3000》是我开发的一套批量运维工具软件,支持多云。灵感来自于“要你命三千”“要你命三千”是:3000个究极砂仁工具。而“kasini3000”是:3000种批量运维神器。《ps1屠龙刀》,《win-linux批量运维宝》,《ps1脚多多》是其别名。

linux命令转义,ssh远程传【代码块】一直是个麻烦。powershell用下述方法,解决了这个问题:

$a=@"#win,linux命令。这里的命令支持引用变量。支持任意个单双引号,即单双引号不成对。"@$a=@"#win,linux命令。这里的命令不支持引用变量。支持任意个单双引号,即单双引号不成对。"@$a={#win,linux命令。这里的命令支持引用变量。单双引号必须成对}

---【正文】---

kasini3000的命令运行器叫做krun。有多个略有差别的krunssh和krun是类似的东西,都是远程发送指令。用法是:./k_run_ip -ip 被控机ip { 被控机命令 }

你是否曾经想过,为什么ansible成了气候?为什么没有基于shell的远程批量运维工具?为什么无法通过ssh发送多行脚本?而非要用expect

kasini3000中,没有这些问题:(下列命令是真实命令,有具体作用。在centos8上测试通过,在krun远程中测试通过)

#不需要转义$被控机bash命令的结果_返回到主控机powershell变量 = k_run_ip -ip 1.2.3.4 {$bash的cmd = @"netstat -an | awk " /LISTEN/{next};/^tcp/{s=split($5, N,":"); \A[N[s-1]]++} END{ for (a in A) print a, A[a]} ""@${bash的cmd} | /bin/bash}#不需要转义$被控机bash命令的结果_返回到主控机powershell变量2 = k_run_ip -ip 1.2.3.4 {$bash的cmd = {netstat -an | awk " /LISTEN/{next};/^tcp/{s=split($5, N,":"); \A[N[s-1]]++} END{ for (a in A) print a, A[a]} "}${bash的cmd} | /bin/bash}

---【后记】---

ssh和krun是类似的东西,都是远程发送指令。但krun不需要转义,支持多行代码(即代码块),从主控机发送到被控机(而不是放入脚本)。还支持把代码块保存在主控机变量中,支持远程来回传对象,远程远程来回传代码块。

你见过shell脚本中有,用ssh发送awk,sed,还不转义的代码吗?kasini3000,简直是awk,sed的恩人。

kasini3000的口号是:“丢弃yaml(压马路),kasini3000让win,linux命令行再次伟大!”

powershell是开源,免费,跨平台,绿色(复制后,或解压后,即可运行的。这一点比python好)软件。

关键词: 要你命三千 这个问题