交互输入

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. vulnhub靶场之VENOM: 1

    准备: 攻击机:虚拟机kali.本机win10. 靶机:Venom: 1,下载地址:https://download.vulnhub.com/venom/venom.zip,下载后直接vbox打开即可 ...

  2. 12月15日内容总结——ORM执行原生SQL语句、双下划线数据查询、ORM外键字段的创建、外键字段的相关操作、ORM跨表查询、基于对象的跨表查询、基于双下划线的跨表查询、进阶查询操作

    目录 一.ORM执行SQL语句 二.神奇的双下划线查询 三.ORM外键字段的创建 复习MySQL外键关系 外键字段的创建 1.创建基础表(书籍表.出版社表.作者表.作者详情) 2.确定外键关系 3.O ...

  3. Spring Boot启动时执行初始化操作三种方法分享

    @PostConstruct对于注入到Spring容器中的类,在其成员函数前添加@PostConstruct注解,则在执行Spring beans初始化时,就会执行该函数.但由于该函数执行时,其他Sp ...

  4. Vue34 VueX

    1 简介 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. vue官方搭配,专属使用 ...

  5. SqlServer Express 自动备份数据库(没有sql代理服务的情况下)

    一.由于Express版本的SQLServer没有SQL代理服务(SQLSERVERAGENT),所以就不能通过SQLServer作业来进行自动备份了,那么我们可以用Windows计划任务来定时处理 ...

  6. python爬虫学习——文件操作,异常处理

    文件操作 ''' f = open("a.txt","w") #打开一个文件, w模式(写),如果文件不存在就在当前目录下创建 f.write("he ...

  7. JZOJ 5346. 【NOIP2017提高A组模拟9.5】NYG的背包

    题目 分析 很神奇的贪心 \(Code\) #include<cstdio> #include<algorithm> using namespace std; typedef ...

  8. win11 文件夹内关闭显示更多

    使用命令提示符 打开cmd窗口,输入  reg add HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\Inpro ...

  9. 从Linux Bridge引发的网桥、交换机与路由器区别探究

    背景 最近接触docker的网络配置方式,发现其默认会创建一个docker0的Linux Bridge,宿主机上运行的容器可以通过连接该birdge实现与外网的通信,根据bridge这个命名很自然的认 ...

  10. TouchableOpacity无效

    错误代码如下: <TouchableOpacity onPress={this.handleConfirmPress} activeOpacity={0.6} > <Text sty ...