-->

Shell 基础

2020-08-15 18:17发布

shell 脚本的开头:
  #!/bin/bash

变量:

  变量名=变量值(等号两边一定没有空格

  不能以数字开头,由字母、数字、下划线组成

  输出变量的内容:

    echo 

    echo 变量名  --》  输出变量名

    echo $变量名   --》  输出变量值

1 name=jim
2 echo name   -->  name
3 echo $name  -->  jim

变量的释放:

unset name
echo $name ---> 不会输出内容,已经定义的name 已经被释放

特殊变量:(带空格)

name="j im"
echo $name   ->   j im

 

 

双引号和单引号的区别:

name1="jim"
name2="xiaohua"
love="$name1 love $name2"
   echo love     ==> jim love xiaohua


age1='11'
age2='22'
n='$age1  $age2'
    echo n    ==> $age1 $age2

 

实现 赋 值 系统命令:

unset m
m=`ls`
echo $m
    ==> 公共 模板  视频 图片 文档 下载 音乐 桌面

 

 练习:输入当前的目录

#!/bin/bash
dir=`dir`
echo $dir

执行脚本:(./脚本名  如果提示权限不够,chmod +x 脚本名   或者   sh 脚本名

 

练习:计算/etc目录下有多少个目录

#!/bin/bash
cd /etc  #先切换到想到计算的目录路径
filenumber=`ls -l | wc -l`
echo "该目录下总共有$filenumber个文件"

↑:改进,可以从用户输入的目录查看

  read -p “提示用户信息” 变量名

#!/bin/bash

read -p "请输入想查询的路径:" dir
cd $dir
filenumber=`ls -l | wc -l`
echo "该目录下总共有$filenumber"个文件

 

文件接收参数的方式:

  $0:代表文件名

  $1:表示传入的第一个参数

  $2:表示传入的第二个参数

  $n:表示传入的第n个参数

  $@:显示全部参数

  $#:显示参数的个数

 

 

 

 

 

重定向

  把内容输出到文件中:

  ls 1>a.txt  (覆盖)

  

   

  ls 1>> a.txt(追加)  

  

  错误命令的输出结果:

  覆盖:

    

    

  追加:

    

标签: