交互输入

read    Python中用input()函数,进行输入;

    read命令同时可以定义多个变量值;而输入的内容默认以空格为分隔符,将值输入到对应的变量中;
    如果默认值过多,最后所有的值都会被赋予给最后一个变量;
    如果默认值过少,多余的变量则为空值;
    示例:
    read a b c
    aa bb cc

read如何输入:

  echo "请输入一个目录:"
  我们需要 echo -n 取消换行符号
  echo "请输入一个目录:";read 变量
  请输入一个目录:\etc
 
  常用参数:
    -p
    read -p "请输入一个目录:" 变量
    -t  定义超时时间
    read -t 5 -p "请输入一个目录:" 变量
  

 

for语句的应用场景:

  有一个功能,这个功能需要循环执行,只是执行对象不同;【对象必须是同类数据】

for语句格式:

  a=['a','b','c'] -- 在Python程序中,我们很多情况下,需要调用相应的方法去生成列表;
  for 变量 in 列表;do
    循环体
  done

  for语句的另外一种写法:
    for((初始条件; 条件判断语句; 值变化语句));do
      循环体
    done
 

while语句的格式

  初始值
  while 条件 ;do
    循环体
    let i++  //变化初始值
  done

 

echo

  -e : 使echo命令,能够识别 特殊字符;
  \r   回车不换行
  \n  换行符
  \t   制表符 tab = 4个空格

 

列表的生成方式:

  直接给出字符串列表
    for i in a b c d e ;do
      循环体
    done

  整数列表
    a {start ... end} // {1..1}是不行的 {1..9}  == python range{1,100}
    b seq 命令引用  $(seq [start [step]] end)
    步长  python range{1,100,2}
    seq 20 30
 
  返回列表的命令
  $(COMMAND)

vim 常见用法:

  命令模式:
    dd  剪切
    5dd
    p    粘贴
    yy  复制
    5yy
    p    粘贴

test

  1、test的命令的option的 -a  -o 只在命令中使用;
  例如 [ `du -h $filename | cut -d: -f1` -lt 100K -a -x $filename ] 
    test `du -h $filename | cut -d: -f1` -lt 100K -a -x $filename
  注意:做字符串匹配的时候,不支持正则以及通配符
  2、test test ==  [[  ]]
  再连接两个test的命令的时候,不能使用命令内部option  -o -a
  一般使用  ||   &&  ==  !=  >=  <=
  [[ yum.log == *.log ]]
     

传参

  $@  $*  将参数做为for循环的列表
  $0  -- 和 awk 不一样
  bash中$0代表运行的脚本文件;
  awk中$0整行内容      ---   awk按行执行 
  需要多个词的时候用 "$@",需要一个词的时候用 "$*"
 
 
 

shell_Day05的更多相关文章

随机推荐

  1. QuartzNet在winform中使用(目前版本3.6)

    界面图"没有什么技术含量~   不过还是有部分人不太了解的 接下来一一解析下,勿q 使用步骤: 1.初始化帮助类 QuarztHelper x = new QuarztHelper(); 2 ...

  2. 线程基础知识15-StampedLock

    1 简介 StampedLock是JDK1.8中新增的一个读写锁,也是对JDK1.5中的读写锁ReentrantReadWriteLock的优化.在原先读写锁的基础上新增了一种叫乐观读(Optimis ...

  3. MySQL8.0 高可用集群化 · mysql-shell · mysql-router · docker · 单主多从

    高可用集群的基本特点 负载均衡 / 读写分离 / 故障转移本文以此为目标,利用 mysql-shell.mysql-router,基于 docker 的环境架构(篇幅太长,内容多了点儿). 一.名词及 ...

  4. MySQL 版本号排序

    1.业务背景 版本检查接口返回版本号排序时出现如下图所示问题 普通的查询按数字值逐级比较,导致版本号高的排在了后面,这样版本检查根据版本号排序倒排取出来的不是最新的版本号,本文就此问题查询了诸多方法, ...

  5. 视觉SLAM:VIO的误差和误差雅可比矩阵

    1.两个相机之间的非线性优化 观测相机方程关于相机位姿与特征点的雅可比矩阵: 1.1 位姿: 1.2 3D特征点 fx,fy,fz为相机内参 X',Y',Z'为3D点在相机坐标系下的坐标 该误差是观测 ...

  6. 记录一次vue部署docker步骤

    vue部署docker 拉取nginx镜像 docker pull nginx 有Dockerfile文件步骤: 1.打包vue npm run build 2.写一个default.conf 文件, ...

  7. 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad

    前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s ️Reference: IoT 边缘计算系列文章 ...

  8. 题解 P1627 [CQOI2009] 中位数

    傻逼题但是被自己的傻逼操作爆了好几次零(悲愤 .... 没什么好讲的,一眼题... //SIXIANG #include <iostream> #define int long long ...

  9. 在真实世界中观察目标治疗策略实施1年对初诊RA患者的影响

    在真实世界中观察目标治疗策略实施1年对初诊RA患者的影响 Tan AL, et al. Rheumatology 2016.Present ID: 083. 背景:制订目标治疗(T2T)建议是要将获得 ...

  10. redis(13)持久化操作-AOF

    AOF(Append Only File) 以日志的形式来记录每个写操作(增量保存),将 Redis 执行过的所有写指令记录下来 (读操作不记录), 只许追加文件但不可以改写文件,redis 启动之初 ...