Shell

  • 创建一个以sh为扩展名的文件,在其中写入shell脚本,并赋予文件可执行权限,然后运行脚本


    image.png

变量

  • 1.在Bash shell中每一个变量都是一个字符串,无论是否为变量赋的值添加引号,还是赋一个数字,都会转化为字符串,出非用declare定义变量类型;
  • 2.将命令运行的结果赋值给一个变量:val=commond 或者 val=$(commond);
    image.png
  • 3.特殊变量
    $0 当前脚本的名字;

$n 传递给脚本的参数,n代表第n个参数;

$# 传递给脚本参数的个数;

@ 传递给脚本的所有参数;

$? 上个命令的退出状态或函数的返回值;

$$ 当前执行shell的id;

表达式

  • 1.for循环
//for i in {0..9} 等于for i in {0..9..1} , 第三个参数为跨步
for i in {0..9}
do
echo $i
i=$i+1
done

for ((i=0;i<10;i++))  
do  
  ...  
Done
  • 2.while循环

while 测试条件  
do  
循环体  
done 
Shell_第1张图片
image.png
  • 3.if判断
if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi
Shell_第2张图片
image.png
  • 4.case条件


    Shell_第3张图片
    image.png
  • 5.整数比较大小

-gt:大于
-lt:小于
-ge:大于等于
-le:小于等于
-eq:等于
-ne:不等于

  • 6.算数运算


    Shell_第4张图片
    image.png
  • 7.逻辑运算符

-a 与
-o 或
! 非

  • 8.自定义函数
    函数的返回值可以显示的增加return,如果不加会将字后一条命令的结果作为返回值.函数的返回值只能是整数,用来表示函数调用成功与否,如果返回的是一个字符串会报错.可以通过ret=$?的形式来接收函数的返回值.
    在a.sh中定义func()函数
    Shell_第5张图片
    image.png

    在b.sh中引用该函数
    Shell_第6张图片
    image.png
  • 9.read:将键盘输入的数据存储到给定的参数中


    image.png
  • 10.字符串操作
    截取指定个数字符


    image.png
  • 11.大小写转换


    image.png

输入输出重定向

  • 1.输出重定向
    通过commond > file来实现
    新建一个test.txt文件,将命令的执行结果写入到文件中.


    image.png

    第二次写入时如果还用">"会覆盖掉之前的内容,如果不想之前的内容被覆盖应该用">>".


    Shell_第7张图片
    image.png
  • 2.命令默认从键盘输入,现在改为从文件输入.


    Shell_第8张图片
    image.png

    通过catfile中的命令打开test并将结果写入到catfile中.

你可能感兴趣的:(Shell)