交互输入

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. 1月12日内容总结——文件和文件索引、链接、系统时间、克隆、定时任务、paramiko模块、公钥私钥、paramiko代码封装

    目录 一.文件相关信息 二.文件索引信息 三.链接信息 四.系统时间 五.机器克隆 六.定时任务 七.paramiko模块 八.公钥私钥 九.paramiko其他操作 十.代码封装 十一.面试题回忆 ...

  2. KingbaseES在线wal日志

    KingbaseES数据库日志文件记录数据库的历史操作信息, 包含恢复数据库中的所有事务所需的信息. KingbaseES在线WAL日志: WAL日志: 预写式日志(Write-Ahead Loggi ...

  3. Vue19 常用指令及自定义指令

    部分转自:https://blog.csdn.net/weixin_58032613/article/details/122759818 1 常用指令 1) v-bind 单向数据绑定 https:/ ...

  4. Linux云服务器安装jdk、Tomcat、MySQL5.7

    [java安装的步骤]1.通过filezilla这个工具,连接上Linux服务器,然后将我们准备好的Java的安装包传输到服务器中.2.对jdk进行解压,命令是 tar zxvf 文件名3.在根目录的 ...

  5. 调用HttpClient.PostAsync时传token等值

    做内部接口转发时加token验证需要传token值过去,有如下两种方式 string jsonContent = JsonConvert.SerializeObject(args); using(va ...

  6. 【TS】基础类型

    在ts中定义基础类型, 语法 : let 变量名 : 数据类型 = 值 // 布尔类型 ----boolean let flag : boolean = true flag = false 在赋值的时 ...

  7. KMP 算法(Knuth–Morris–Pratt algorithm)的基本思想

    KMP 算法(Knuth–Morris–Pratt algorithm)的基本思想 阅读本文之前,您最好能够了解 KMP 算法解决的是什么问题,最好能用暴力方式(Brute Force)解决一下该问题 ...

  8. uni-app:获取当前经纬度解决方案+如何布置全局组件

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.布置全局组件 在我们开发的过程中,会碰到一个现象,就是在页面里面引入组件,总算要写import,components才能引用,这里给大 ...

  9. 在windows环境中如何批量添加IP地址 and 求助 : 在CMD命令行中配置IP地址, 提示 : 未能配置DHCP服务, 接口可能已经断开, 系统找不到指定的文件.

    转载csdn: 在windows环境中如何批量添加IP地址_user_yuewu的博客-CSDN博客_windows批量添加ip 求助 : 在CMD命令行中配置IP地址, 提示 : 未能配置DHCP服 ...

  10. PostgreSQL 并行计算算法,参数,强制并行度设置

    一.优化器并行计算的并行度计算方法 1.总worker进程数 postgres=# show ; max_worker_processes ---------------------- 128 (1 ...