1、前言

  1. 其实这是一件花里胡哨的事情
  2. 自己平时用虚拟机跑一些linux测试,日常的习惯是克隆DHCP网络的机器,所以每次的IP都会是新的
  3. 于是乎,每次用MobaXterm连接新机器,都需要新建session(有的时候机器多,一个一个建立真的很烦)
  4. 于是就有了如下华而不实的操作

2、导出MobaXterm的session模板

  1. User sessions这里右键
  2. 选择Export all sessions to file,导出sessions的模板
  3. 导出的模板名称为:MobaXterm Sessions.mxtsessions(只要后缀是.mxtsessions,就可以导入MobaXterm)
  4. 下面我们看一下导出的模板内容
[Bookmarks]
SubRep=
ImgNum=42
192.168.10.2 (root)=#109#0%192.168.10.2%22%root%%-1%-1%%%22%%0%0%0%%%-1%0%0%0%%1080%%0%0%1#MobaFont%10%0%0%0%15%236,236,236%30,30,30%180,180,192%0%-1%0%%xterm%-1%-1%_Std_Colors_0_%80%24%0%1%-1%<none>%%0#0# #-1

3、利用shell脚本生成.mxtsessions文件

#!/usr/bin/env bash
set -e
PWD=$(cd `dirname $0`; pwd)
iphead="192.168"
ipbody="10"
user='root'
xterm='%%-1%-1%%%22%%0%0%0%%%-1%0%0%0%%1080%%0%0%1#Consolas%14%0%0%0%15%236,236,236%0,0,0%180,180,192%0%-1%0%%xterm%-1%-1%30,30,30%54,54,54%255,96,96%255,128,128%14,177,108%24,237,147%190,190,18%222,220,18%18,150,190%27,186,233%255,77,255%255,125,255%84,204,239%142,221,244%204,204,204%204,204,204%80%24%0%1%-1%<none>%%0#0# #-1' function deploytxt (){
seq 2 254 > ${PWD}/${iphead}.${ipbody}.0-remote.txt
seq -w 2 254 > ${PWD}/${iphead}.${ipbody}.0-sessionName.txt
sed -i "s/^/${iphead}.${ipbody}./g" ${PWD}/${iphead}.${ipbody}.0-remote.txt
sed -i "s/^/${iphead}.${ipbody}./g" ${PWD}/${iphead}.${ipbody}.0-sessionName.txt
paste ${PWD}/${iphead}.${ipbody}.0-sessionName.txt ${PWD}/${iphead}.${ipbody}.0-remote.txt > xterm.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.txt is created in ${PWD}/\e[0m\n"
} function deploymxtsessions () {
cat > ${PWD}/${iphead}.${ipbody}.0.mxtsessions <<EOF
[Bookmarks]
SubRep=
ImgNum=42
EOF
echo "##sessionName## (##user##)=#109#0%##remote##%22%##user##${xterm}" > ${PWD}/xterm.example.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.mxtsessions example is created in ${PWD}/\e[0m\n"
} function createmxtsessions () {
while read xterm_line
do
sessionName=$(echo $xterm_line | awk '{print $1}')
remote=$(echo $xterm_line | awk '{print $2}')
while read xterm_example_line
do
echo ${xterm_example_line} | sed -e "s/##sessionName##/${sessionName}/" -e "s/##remote##/${remote}/" >> ${PWD}/${iphead}.${ipbody}.0.mxtsessions
done < ${PWD}/xterm.example.txt
done < ${PWD}/xterm.txt
sed -i "s/##user##/${user}/g" ${PWD}/${iphead}.${ipbody}.0.mxtsessions
rm -f ${PWD}/*.txt
printf "\e[1;32m ${iphead}.${ipbody}.0.mxtsessions is created in ${PWD}/\e[0m\n"
} function main () {
deploytxt
deploymxtsessions
createmxtsessions
} main
linux-oz6w:~ # sh mxtsessions.sh
192.168.10.0.txt is created in /root/
192.168.10.0.mxtsessions example is created in /root/
192.168.10.0.mxtsessions is created in /root/
linux-oz6w:~ # ll | grep mxtsessions
-rw-r--r-- 1 root root 54172 Jan 8 06:27 192.168.10.0.mxtsessions
-rw-r--r-- 1 root root 1122 Jan 8 06:08 mxtsessions.sh
`执行脚本后,就会产生192.168.10.0.mxtsessions,从虚拟机导出到宿主机后,就可以导入到MobaXterm`
`脚本里面会删除掉脚本所在路径下所有的.txt文件,一定要注意脚本的执行路径,不要误删了自己的.txt文件`

4、导入到MobaXterm

  1. User sessions这里右键
  2. 先点New folder(这步是为了创建一个目录,把192.168.10.0这个网段的sessions都放到一起,强迫症而已,可以不操作)
  3. 192.168.10.0这里右键
  4. Import sessions into this folder,选择导出的192.168.10.0.mxtsessions,点即可(没有创建目录的话,点Import sessions from file

5、效果图

  1. 太长了,就截取一部分
  2. 更新了一下脚本,做了优化,为了看起来更舒服一点,操作起来也能舒服很多

利用shell为MobaXterm生成session模板的更多相关文章

  1. node 利用命令行交互生成相应模板

    目录 readline 实现 使用process实现 使用 inquirer 调用的生成模板方法 (generator 方法) 创建时间:2019-10-15 测试环境:win10 node-v10. ...

  2. 【转】Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

    原文链接:http://www.cnblogs.com/quanyongan/p/3152290.html 最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和  ...

  3. 利用Node.js实现模拟Session验证的登陆

    1.身份验证和用户登陆 在一般的Web应用上,假设要实现用户登陆,最经常使用,也是最简单的方法就是使用Session,主要的思路是在Session中保留一些用户身份信息,然后每次在Session中取, ...

  4. Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

    最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和 @DynamicUpdate 如果是在配置文件的话那就是dynamic -insert 和 dynamic- ...

  5. 利用Maven把项目生成jar包供其他项目使用

    每当搭建框架时,第一步就是为系统整理一个接一个的jar包.用多了就开始深思,如何把自己的项目也整成jar包,供他人使用呢? 近期一直在看徐晓斌所著:<Maven实战>.因自己学识不够,只是 ...

  6. 利用strut2标签自动生成form前端验证代码

    利用strut2标签自动生成form前端验证代码,使用到的技术有1.struts2标签,如<s:form> <s:textfieled>2.struts2读取*Validati ...

  7. 利用TPC-H为MYSQL生成数据

    ## 利用TPC-H为MYSQL生成数据 导言 这篇文章是看了joyee写的TPC-H数据导入MySQL教程以及另一篇网上的MySQL TPCH测试工具简要手册 后写的,有些内容是完全转载自以上两篇文 ...

  8. 利用ir.sequence自动生成序列号

    利用ir.sequence自动生成序列号 什么是序列号 可以这么理解,我有一个产品序号,编码的前缀是SOP,后缀是0001~9999的序号,没生成一个产品就自动流水加一,序列号不会重复,odoo中的i ...

  9. webapi 利用webapiHelp和swagger生成接口文档

    webapi 利用webapiHelp和swagger生成接口文档.均依赖xml(需允许项目生成注释xml) webapiHelp:微软技术自带,仅含有模块.方法.请求-相应参数的注释. swagge ...

随机推荐

  1. python 迭代器链式处理数据

    pytorch.utils.data可兼容迭代数据训练处理,在dataloader中使用提高训练效率:借助迭代器避免内存溢出不足的现象.借助链式处理使得数据读取利用更高效(可类比操作系统的资源调控) ...

  2. win10中查看开关机时间及查看admin的RID的方法

    原文链接: https://www.toutiao.com/i6772133439593251339/ 打开系统的注册表 键盘输入win+r组合键出现运行窗口命令 输入regedit 按回车键,进入注 ...

  3. 简述伪共享和缓存一致性MESI

    什么是伪共享 计算机系统中为了解决主内存与CPU运行速度的差距,在CPU与主内存之间添加了一级或者多级高速缓冲存储器(Cache),这个Cache一般是集成到CPU内部的,所以也叫 CPU Cache ...

  4. 如何将Excl内数据导入数据库?

    最近有个Excl表格内的数据需要导入SQL Server数据库内,使用SQL Server Management Studio客户端图形界面操作了一番,步骤还挺多,感觉有必要分享给大家一下,顺便自己也 ...

  5. Android官方文档翻译 十三 3.1Supporting Different Languages

    Supporting Different Languages 支持不同语言 This class teaches you to 这节课教给你 Create Locale Directories and ...

  6. vscode配置Microsoft C++注意事项

    vscode配置c++插件教程链接如下: https://code.visualstudio.com/docs/cpp/config-msvc#_check-your-microsoft-visual ...

  7. 加深对AQS原理的理解示例二:自己设计一个同步工具,同一时刻最多只有两个线程能访问,超过线程将被阻塞

    /** *@Desc 设计一个同步工具,同一时刻最多只有两个线程能访问,超过线程将被阻塞<br> * 思路分析: * 1.共享锁 两个线程及以内能成功获取到锁 * 2. *@Author ...

  8. gorm中的高级查询

    智能选择字段 GORM 允许通过 Select 方法选择特定的字段,如果您在应用程序中经常使用此功能,你也可以定义一个较小的结构体,以实现调用 API 时自动选择特定的字段,例如: type User ...

  9. WebSphere--WAS概念和原理解析

    WebSphere--WAS概念和原理解析--tigergao收录于2021/04/25

  10. 学习Java第16天

    今天学习了HTML的表格,列表标签及表单. 顺序有点乱,明天学习swing awt,当时这部分大概过了一下,明天看视频 主要问题还是新概念较多,需要多理解,多记忆.