摘要:
重定向 文件的标准操作分为 标准输入(stdin)、标准输出(stdout)、标准报错输出(stderr) 输入重定向 输入重定向符是< 标准输入 文件描述符是0 # 命令的输入来自于文件而不是键盘command < input-file 输出重定向 输出重定向符是> bash的输出分为标准输出和错 阅读全文
摘要:
重导和管道 重导和管道不能单独使用,需要配合其他命令一起使用 重导 重导可将命令结果输出到文件中,有两种形式">"和">>" ">"是将结果输出到文件中,将该文件中的原内容覆盖 ls -a > dir.txt ">>"是将结果追加到文件中 ls -a >> dir.txt 两个特殊文件 /dev/n 阅读全文
摘要:
循环语句 Bash中有三种可以用来重复执行一系列命令的语句:for循环语句、while循环语句和until循环语句 for循环 #for循环的语法一 for 变量 in 列表 do 语句 done#for循环的语法二for (( 初始值;循环控制条件;变量变化 )) do 语句 done 示例: # 阅读全文
摘要:
位置参数变量 在写shell脚本的时候,难免会进行命令行传参,下面来介绍一下位置参数变量 为 数 字 , 0代表本身,即当前程序的名称 9代表第一到第九个参数,十以上的参数需要使用大括号,如${10} $* 表示命令行中的所有参数,把所有参数看成一个整体 $@ 也表示命令行中的所有参数,但是把每个参 阅读全文
摘要:
替换运算符 有时候${variable}使用变量时,其变量可能没有设置导致存在一些问题,可以使用替换运算符来解决 ${varname:-word} 如果varname存在且非null时,则返回其值;否则返回word ${varname:=word} 如果varname存在且非null时,则返回其值; 阅读全文
摘要:
判断语句 使用test来进行判断 # test [选项] 文件test -d /Users/zhanghe/desktop/user/shell 示例:#如果该文件是目录则输出yes,否则输出notest -d /Users/zhanghe/desktop/user/shell && echo ye 阅读全文
摘要:
流程控制 if条件判断 可以使用if来实现多路跳转,条件通常使用test命令 #if语句的语法if condition1then command1elif condition2 then command2else commandNfi 如果then需要和if放在同一行的话,使用;分隔 fi用来结束i 阅读全文
摘要:
读取变量 shell变量包括两种:环境变量和用户定义变量。环境变量用于定制shell的运行环境,保证shell的正确运行,可以参考环境变量那一节来进行配置;用户定义的变量在shell脚本中用来作为临时的存储空间 #设置变量# 变量名=变量值 之间没有空格myvar=this_is_variable# 阅读全文
摘要:
查看可支持的shell linux中支持多种shell类型,所以在shell文件的第一行需要指定所使用的shell #!/bin/bash 指定该脚本使用的是/bin/bash,这样的机制使得我们可以轻松地引用任何的解释器 查看该linux系统支持的shell cat /etc/shells/bin 阅读全文
摘要:
变量和引号 在shell中设定变量使用单引号和双引号有什么区别呢? 双引号 双引号的功能比较强大 替换变量 myname="Bash"HelloWorld="你好,我是 $myname"echo $HelloWorld 输出结果为 你好,我是 Bash 如果使用单引号则不行 替换命令执行结果 替换算 阅读全文