Shell脚本中的交互式命令处理
先贴代码:
DATE=`date -d -1hour +%T` fileName=erver_`date -d now +%Y-%m-%d-%H%M%S`.txt cp /home/BLload_bak/$fileName HOST='ipxxx.xxx.xxx.xxx' PORT='21' USER='xx' PASSWD='xx' FILE=$fileName# 注意Here Document中引用的变量必须大写 /usr/bin/ftp -i -n $HOST $PORT <<EOF user ${USER} ${PASSWD} binary lcd /home/adminxcb/cron/BLload_bak put $FILE quit EOF
主要记录点在于,通过shell自动和ftp命令交互,也就是<<EOF和最后以EOF结束的中间那部分代码,<<是shell中Here Document的表示方法(具体解释百度或谷歌吧)。
ftp有个-i参数需要注意一下:-i表示多个文件传送时关闭交互提示。
基于这些又写了个小练习,来简化mongodb的数据查询,代码如下:
#/usr/bin/bash stty erase '^H'while true; doread -p "> " cmdif [ "$cmd"x == "quit"x ]; thenbreakfiCMD=$cmdmongo 127.0.0.1 <<EOF use WebInfo db.auth("mo", "mo") db.$CMD EOF done
上述代码中stty erase '^H' 是为了清除输入过程中按退格出现的^H字符。
if对比字符串时需要使用双引号。
转载于:https://www.cnblogs.com/jasondan/p/3492921.html
Shell脚本中的交互式命令处理相关推荐
- 在 Shell 脚本中跟踪调试命令的执行
文章目录 shell 脚本调试系列 概述 shell 跟踪执行的重要性 shell 脚本调试系列 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的 ...
- Shell脚本中循环select命令用法笔记
在Shell脚本中,select命令是一种菜单扩展的循环方式. 语法结构如下: select Menu in (list) do command done 说明:当程序运行到select语句时,会自动 ...
- Linux系统Shell脚本中的echo命令
Linux系统Shell脚本中的echo命令 echo的作用 输出字符串 格式 echo "字符串内容" 一,显示转义字符 转义字符 ...
- Shell脚本中循环until命令用法笔记
在shell脚本中,可以使用until执行循环处理,如果使用until命令的话如果表达式的结果为false时才执行循环体,直到测试表达式的值为true的时候才会 停止循环. 语法结果如下: until ...
- Shell 脚本中 set -ex 命令的作用
#!/bin/bash -ex shell 命令 set -ex,稍有常识的人都能看出,这是 set 命令加上了 -e 和 -x 两个参数 (废话么这不是).那么,我就把这两个参数拆开,分别说一下它在 ...
- shell脚本中如何获取命令的参数(2) ----处理命令参数
1 找出选项 1.1 处理简单选项 主要可以通过shfit工具对获取的到$1变量对比程序允许的变量值判断: 1.2 从参数中分离选项 一般参数可能在后面跟上适当的参数值,例如 sed -f ...
- 如何在Linux Shell脚本中执行MongoDB命令
今天有同事问到了,简单的写两个应用. 方法一 shell脚本代码如下: #! /bin/bash./mongo 127.0.0.1:27017/test <<EOFvar cursor ...
- shell脚本中使用top命令查看cpu或内存情况的技巧
在嵌入式系统在做高低温试验的过程中,需要实时记录多个信息,用于分析在故障时刻的数据,辅助判断故障可能产生的原因,如系统重新启动前内存.cpu的占用情况,温度的上升情况等等,今天仅分析cpu和内存的数据 ...
- 在shell脚本中使用sed命令更改文件中两个相似参数的其中一个
文件中含有两段数据,第一段是mysql1的配置,第二段是mysql2的配置. [root@ip-10-40-18-118 szh]# cat test.txt mysql1:host: 1.1.1.1 ...
最新文章
- mysql 5.7.20 安装_MySql 5.7.20安装
- 1102面向对象和类原型
- php sql 字段名称,PHPSQL Server – 字段名称被截断
- 国外流行十大PHP框架
- HTML5 classList 操作类名
- xml+css+sql+json+html+js格式化,JavaScript格式化json和xml的方法示例
- python人工智能文字识别_Python人工智能之图片识别,Python3一行代码实现图片文字识别...
- HDU 2159 完全背包
- 显示器测试软件 绿色,DisPlayX-显示器测试工具
- CodeForces - 1040B Shashlik Cooking(水题)
- Memory threshold for SAP CRM WebClient UI technical framework
- P1308 统计单词数 洛谷
- Centos7安装gos脚本
- 步步为营——局域网调试NAS软路由“PVE+爱快+lede+黑群晖硬盘直通”并移植到宽带网(超详细,上篇)
- 卡马克揭开VR延迟背后的真相
- 【叶子函数分享三十】SQL简繁转换函数
- 易语言 修改IE协议头模拟手机浏览网页
- FCRA部分考试题目及答案
- java图片压缩工具类
- 循环语句—do…while循环