shell 语法

237 阅读1分钟

一、shell文件

1.文件后缀.sh

2.文件头 #!bin/bash 解释器

3.执行*.sh文件的方式

  1. 给权限 chmod 777 *.sh

  2. bin/bash *.sh执行【调用bash解释器去执行】

  3. 或者 sh *.sh方式执行。【用sh解释器去执行】

在linux中sh是连接到bash上的,所以sh与bash在功能上没有区别。相当于bash解释器是sh的增强版。

二、shell语法

  1. A=10 :赋值语句不能有空格。
  2. echo $A:输出语句
  3. ech $?:检测上个命令执行情况。返回127代命令执行失败。0代表成功。
  4. $PWD:当前文件路径,不包括当前文件。
  5. $0:当前文件的名字。
  6. $1:执行时输入的第一个参数。$2:执行时输入的第二个参数。
  7. 条件判断语法
if(($?));then
    echo 执行失败
else 
    echo 执行成功
fi
  1. $* 外界传的参数

  2. $# 外界传的参数个数

  3. 循环语法

    seq 1 10 :打印输出1到10
    
for i in `seq 1 20`
do
    echo "遍历的数字是:$i"
done
  1. 在终端上的算数运算:exprt 200 + 200(符号左右需要有空格)

  2. 读取文件的内容


while read line
do
    each $line
done<`pwd`/文件名
  1. 判断是否相等
if [ $a = $b ] //注意里面的空格,if后有个空格
then
    echo "等于"
else
    echo "不等于"
fi

14.创建局部变量

result=$(( 100 + 100 ))

  1. cat 0<file02.txt 把文件内容给到0(0代表当前窗口)

  2. echo CCCCCCC>file.txt 把内容写入文件。

  3. 函数传递参数

function f(){
    echo $1
}
f 111