Linux基础知识笔记

1.case的命令格式   

 1 #!/bin/sh
 2 echo "please input number 1 to 3"
 3 read number  4 case $number in
 5 1)  6     echo "you input 1"
 7  ;;  8 2)  9     echo "you input 2"
10  ;; 11 3) 12     echo "you input 3"
13  ;; 14 *) 15     echo "error"
16  ;; 17 esac

      esac是case的反写

2.if命令格式

1 #!/bin/sh
2 if [ "10" -lt "12" ]; then
3  echo "10<12"
4 else
5  echo "10>12"
6 fi
7     

 

3.变量的含义    

   $# 是传给脚本的参数个数
   $0 是脚本本身的名字
   $1 是传递给该shell脚本的第一个参数
   $2 是传递给该shell脚本的第二个参数
   $@ 是传给脚本的所有参数的列表
   $* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
   $$ 是脚本运行的当前进程ID号
   $? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误
1 #!/bin/sh
2 echo "number:$#"
3 echo "name:$0"
4 echo "first :$1"
5 echo "second:$2"
6 echo "argume:$@"
7 echo "parm list:$*"
8 echo "process id:$$"
9 echo "exit stat: $?"

 

4.[]与[[]]

 使用[[时有时会显示[[: not found 此时可能是bash的版本问题。

 [[]]与[]相比支持正则

5.数组   

 1 #!/usr/bin/env bash  2 a=(1 2 3 4 5)  3 echo $a #第一个元素  4 echo ${a[0]} #第一个元素  5 echo ${a[*]} #所有元素  6 echo ${a[@]} #所有元素  7 #unset a #删除所有元素  8 #unset a[0] #删除第一个元素  9 echo ${a[@]:1:2}   #${数组名[@或*]:起始位置:长度} 切片原先数组返回新的数组 10 echo ${a[@]/2/99}  #将第2个元素替换为99

 

uname  显示系统信息 (缺省 -s 显示操作系统名称)

dirname 从文件名中剥离非目录的后缀

反引号的作用就是将反引号内的Linux命令先执行,然后将执行结果赋予变量

2>&1 把错误重定向到标准输出

标准的输入,输出和错误输出分别表示为STDIN,STDOUT,STDERR,也可以用0,1,2来表示

shift命令一次删除当前的参数使后一个餐宿前移

stty  改变并打印终端行设置

%~dp0代表的是.sh文件所在的文件目录

 

你可能感兴趣的:(linux)