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文件所在的文件目录

 

posted @ 2014-12-24 15:01  senki  阅读(129)  评论(0编辑  收藏  举报