shell基本命令总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell基本命令总结相关的知识,希望对你有一定的参考价值。

一 Linux shell脚本

shell : 命令行解释器
(1)sh
(2)csh
(3)ksh
(4)bash

shell 脚本:一堆命令集合,这些命令完成一件特定的事情

二 运行一个shell脚本文件

1.添加可执行权限,然后运行 ./shell脚本文件 
2.用shell来解析我们的脚本文件 , bash 脚本文件


三 shell脚本语法

1.变量

(1)用户自定义变量
  变量名=内容

  特点:
  <1>没有数据类型
  <2>赋值两边不能有空格
  <3>所有的赋值对shell变量都解释为字符串

(2)环境变量
   PATH 是shell默认的搜索路径
   HOME 记录的是当前用户的用户主目录

(3)位置变量
  
   $0   脚本的名字
  
   $1   给脚本传递的第一个参数
   $2   给脚本传递的第二个参数
   ...
   $9

   [email protected]  获取给脚本传递的所有参数
   $*  获取给脚本传递的所有参数

   $#  获取给脚本传递的参数个数

注意:
在shell中引用一个变量的内容时候,需要加"$",例如:$PATH

VAR1=$PATH
VAR2=$HOME

VAR3=$VAR1
VAR1=$VAR2
VAR2=$VAR3

echo $VAR1
echo $VAR2

2.输入和输出

(1)输入
  read  var1  var2  var3
 
  将用户输入的第一个单词赋值给var1,第二个单词赋值给var2,剩下的单词赋值给var3

(2)输出
   echo "hello word"     输出后自动换行
   echo -n "hello word"  取消输出后自动换行


3.数据的计算

+ , - , \* , / , %

运算的命令:expr




4.判断的对象

(1)字符串
   = , != , -z , -n

(2)数字
   eq , ne ,gt ,lt , ge ,le

(3)文件属性
   -d , -f , -r , -w ,-x

5.控制语句

(1)判断语句
  if [ 判断的对象 ]
  then
    命令
  fi

 -a  且的关系
 -o  或的关系

 if [ $data -ge 256 -a $data -lt 512 ]
 then
    echo $data 
 fi

 -----------------------------------------------------------------
 输出重定向:将输出的结果,输出到指定的文件中,而不是在终端上显示
 echo "string"  > log.txt 先清空log.txt文件,然后写入字符串
 echo "string" >> log.txt 以追加的方式在log.txt文件尾部写入字符串
 -----------------------------------------------------------------
   
  if [ 判断的对象 ]
  then
    命令
  else
    命令
  fi

  if [ 判断的对象 ]
  then
    命令
  elif [判断的对象]
  then
    命令
 
   ...
  elif [判断的对象]
  then
    命令

  fi
 
练习:
输入一个成绩,判断成绩的等级
[80-100] A
[60-80 ) B
[0-60  ) C

如果成绩非法不是[0-100],则提示用户输入的成绩是非法的成绩

(2)case 语句

case 变量的内容 in
匹配项1)
    命令
    ;;

匹配项2)
    命令
    ;;
   
    *)
    命令
    ;;
esac   

练习:
输入一个成绩,判断成绩的等级
[80-100] A
[60-80 ) B
[0-60  ) C

如果成绩非法不是[0-100],则提示用户输入的成绩是非法的成绩


(3)循环

asd f ghj

for  变量  in  单词表
do
    命令
done

循环的次数由单词表中单词的个数来决定,变量每次从单词表取一个单词,然后执行循环体,直到将所有的单词全部取完


for 变量
do
    命令
done

如果 "in 单词表"省略,此时变量从位置参数中取单词

(3)输出拷贝的文件和子目录的个数

------------------------------------------------------------------------
while [表达式]
do
    命令
done

只有在表达式为真的时候,才执行命令,如果为假,循环结束
------------------------------------------------------------------------
break     2
continue  2

二 source 命令

1.bash  test.sh 或 ./test.sh 它是创建一个子进程(shell 进程),子进程来解释test.sh这个脚本
  脚本运行结束后,不影响当前的shell(终端上的bash)

2.source test.sh  或 .  test.sh 它是当前终端的shell来解释脚本,脚本运行结束后会影响到当前的shell

三 shell 函数

1.函数定义

function  函数名()
{
    命令;
    ...
    return 数字值
}

2.函数调用

value=`函数名  参数1  参数2 ...`
value的值这个函数内部通过echo输出的字符串

函数名 参数1 参数2 ...
通过 $? 获得函数的返回值

问题:在shell函数内部如何获得传递的参数呢?
回答:通过位置变量($1 $2 $3 ...)来获得传递的参数

注意:在shell中变量默认是全局的,如果只想变量在函数内部有效,需要用local修饰变量

while true
do
   
done
 


以上是关于shell基本命令总结的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本基本命令大全

HBase shell指令总结

shell命令1

linux shell 常用命令总结

从入门到小白的shell命令总结

Shell基本命令