Shell常用技巧
来源:互联网 发布:部落冲突气球数据 编辑:程序博客网 时间:2024/06/11 09:57
shell去掉两端的空格(类似python的strip功能)
echo " abs ssa " |sed 's/ *$//g'|sed 's/^ *//g'
shell删除匹配的两行之间的内容(包含匹配的行)
比如,文档myfile.txt,内容如下:
*********a *********b ******
删除a,b行之间的内容,最终得到
*************
使用sed命令匹配删除
sed -i '/a/,/b/d' myfile.txt
shell调用expect实现自动交互
上传文件到指定设备
调用方法:
假设脚本名称为upload.sh
bash upload.sh 设备IP地址 设备用户 设备用户密码
脚本代码
#!/bin/bashif [ $# -lt 3 ]; then echo "Usage: $0 ip user password" exit 1else ip=$1 user=$2 password=$3fisrc=./test #要拷贝的源目录dst=/home/$user/ #远端目录#上传文件expect <<-EOFset timeout 300 #设置超时时间值大些避免拷贝文件过多超时spawn scp -r $src $user@$ip:$dstexpect { "(yes/no)?" { send "yes\r" expect "*assword:" { send "$password\r"} } "*assword:" { send "$password\r" }}expect eofEOF
执行远端代码
调用方法:
假设脚本名称为execute.sh
bash execute.sh 设备IP地址 设备用户 设备用户密码
脚本代码
#!/bin/bashif [ $# -lt 3 ]; then echo "Usage: $0 ip user password" exit 1else ip=$1 user=$2 password=$3ficommand="bash /home/$user/test.sh" #要执行的命令脚本#执行命令expect <<-EOFset timeout 300 #设置超时时间值大些避免执行命令时间过长超时spawn ssh $user@$ip $commandexpect { "(yes/no)?" { send "yes\r" expect "*assword:" { send "$password\r"} } "*assword:" { send "$password\r" }}expect eofEOF
阅读全文
1 0
- Linux Shell常用技巧
- linux SHELL常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- Linux shell 常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- Linux Shell常用技巧
- shell脚本常用技巧
- Linux Shell常用技巧
- Linux Shell 常用技巧
- Linux Shell常用技巧
- Bash shell常用技巧
- Mac安装rabbitMQ启动报错error:epmd error for host xiongmindeMacBook-Pro: timeout
- Oracle表空间
- maven中单独pom.xml文件解析(maven还存在继承关系)
- Java字符串方法使用中遇到的问题
- RxJava学习笔记
- Shell常用技巧
- 机器学习入门概念原理及常用算法
- 用户1
- FragmentPullToRefresh
- Activity流程图跟踪
- 前端,json解析插件 ,图片弹窗插件
- 用户登录数据表设计
- Json.Net之Linq To JSON
- 读哈姆雷特,抄一些比较喜欢的句子