shell 命令

#! /bin/sh 是指此脚本使用/bin/sh来解释执行:#!是特殊的表示符,其后面根的是此解释此脚本的shell的路径。
$bash $表示系统提示符,$ 表示此用户为普通用户,超级用户的提示符是#。
bash是shell的一种,是linux下最常用的一种shell。
$bash的意思是执行一个子shell,此子shell为bash。
要注意,在每个脚本的开头都使用"#!",这意味着告诉你的系统这个文件的执行需要指定一个解释器.在#!之后接着是一个路径名.这个路径名指定了一个解释脚本中命令的程序,这个程序可 以是shell,程序语言或者是任意一个通用程序.这个指定的程序从头开始解释并且执行脚本中 的命令(从#!行下边的一行开始),
注意: #! 后边给出的路径名必须是正确的,否则将会出现一个错误消息,通常是 "Command not found",这将是你运行这个脚本时所得到的唯一结果.
如果在脚本的里边还有一个#!行,那么bash将把它认为是一个一般的注释行.

$# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误


文件表达式

整数变量表达式
if [ -f  file ]    如果文件存在

if [ -d ...   ]    如果目录存在

if [ -s file  ]    如果文件存在且非空

if [ -r file  ]    如果文件存在且可读

if [ -w file  ]    如果文件存在且可写

if [ -x file  ]    如果文件存在且可执行  


字符串变量表达式
If  [ $a = $b ]                 如果string1等于string2                          字符串允许使用赋值号做等号

if  [ $string1 !=  $string2 ]   如果string1不等于string2      

if  [ -n $string  ]             如果string 非空(非0),返回0(true) 

if  [ -z $string  ]             如果string 为空

if  [ $sting ]                  如果string 非空,返回0 (和-n类似)       

条件表达式引用变量要带$  -eq  -ne  -lt  -nt只能用于整数,不适用于字符串,字符串等于用赋值号=

相关推荐