先贴代码:

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脚本中的交互式命令处理相关推荐

  1. 在 Shell 脚本中跟踪调试命令的执行

    文章目录 shell 脚本调试系列 概述 shell 跟踪执行的重要性 shell 脚本调试系列 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的 ...

  2. Shell脚本中循环select命令用法笔记

    在Shell脚本中,select命令是一种菜单扩展的循环方式. 语法结构如下: select Menu in (list) do command done 说明:当程序运行到select语句时,会自动 ...

  3. Linux系统Shell脚本中的echo命令

    Linux系统Shell脚本中的echo命令 echo的作用       输出字符串 格式                  echo  "字符串内容" 一,显示转义字符 转义字符 ...

  4. Shell脚本中循环until命令用法笔记

    在shell脚本中,可以使用until执行循环处理,如果使用until命令的话如果表达式的结果为false时才执行循环体,直到测试表达式的值为true的时候才会 停止循环. 语法结果如下: until ...

  5. Shell 脚本中 set -ex 命令的作用

    #!/bin/bash -ex shell 命令 set -ex,稍有常识的人都能看出,这是 set 命令加上了 -e 和 -x 两个参数 (废话么这不是).那么,我就把这两个参数拆开,分别说一下它在 ...

  6. shell脚本中如何获取命令的参数(2) ----处理命令参数

    1    找出选项 1.1 处理简单选项 主要可以通过shfit工具对获取的到$1变量对比程序允许的变量值判断: 1.2  从参数中分离选项 一般参数可能在后面跟上适当的参数值,例如 sed   -f ...

  7. 如何在Linux Shell脚本中执行MongoDB命令

    今天有同事问到了,简单的写两个应用. 方法一   shell脚本代码如下: #! /bin/bash./mongo 127.0.0.1:27017/test <<EOFvar cursor ...

  8. shell脚本中使用top命令查看cpu或内存情况的技巧

    在嵌入式系统在做高低温试验的过程中,需要实时记录多个信息,用于分析在故障时刻的数据,辅助判断故障可能产生的原因,如系统重新启动前内存.cpu的占用情况,温度的上升情况等等,今天仅分析cpu和内存的数据 ...

  9. 在shell脚本中使用sed命令更改文件中两个相似参数的其中一个

    文件中含有两段数据,第一段是mysql1的配置,第二段是mysql2的配置. [root@ip-10-40-18-118 szh]# cat test.txt mysql1:host: 1.1.1.1 ...

最新文章

  1. mysql 5.7.20 安装_MySql 5.7.20安装
  2. 1102面向对象和类原型
  3. php sql 字段名称,PHPSQL Server – 字段名称被截断
  4. 国外流行十大PHP框架
  5. HTML5 classList 操作类名
  6. xml+css+sql+json+html+js格式化,JavaScript格式化json和xml的方法示例
  7. python人工智能文字识别_Python人工智能之图片识别,Python3一行代码实现图片文字识别...
  8. HDU 2159 完全背包
  9. 显示器测试软件 绿色,DisPlayX-显示器测试工具
  10. CodeForces - 1040B Shashlik Cooking(水题)
  11. Memory threshold for SAP CRM WebClient UI technical framework
  12. P1308 统计单词数 洛谷
  13. Centos7安装gos脚本
  14. 步步为营——局域网调试NAS软路由“PVE+爱快+lede+黑群晖硬盘直通”并移植到宽带网(超详细,上篇)
  15. 卡马克揭开VR延迟背后的真相
  16. 【叶子函数分享三十】SQL简繁转换函数
  17. 易语言 修改IE协议头模拟手机浏览网页
  18. FCRA部分考试题目及答案
  19. java图片压缩工具类
  20. 循环语句—do…while循环

热门文章

  1. SQL 简单,复杂查询,基本函数查询
  2. redis常见关键字
  3. golang操作mysql
  4. linux命令route
  5. Linux内核开发工作方向
  6. mysql一: 登陆
  7. spring18:aop介绍
  8. js中如何优雅的解析数据
  9. 第 30 章 lvs-rrd
  10. qt 拖拽 修改大小