天天记事 1035 / 2020-04-23 12:17:20
语法规则
if ... fi 语句
if ... else ... fi 语句
if ... elif ... else ... fi 语句
1). if ... fi 语句
if [ expression ]
then
当条件/表达式 expression 为真(true)时,此处会被执行
fi
或者
if [ expression ]; then
当条件/表达式 expression 为真(true)时,此处会被执行
fi
注意:if和fi必须配对,expression 和方括号([ ])之间必须有空格
例如:
num1=10
num2=10
if [ $num1 == $num2 ]; then
echo $num1 和 $num2 是相等的
fi
结果
10 和 10 是相等的
2). if ... else ... fi 语句
if [ expression ]
then
当条件/表达式 expression 为真(true)时,此处会被执行
else
当条件/表达式 expression 为假(false)时,此处会被执行
fi
或
if [ expression ]; then
当条件/表达式 expression 为真(true)时,此处会被执行
else
当条件/表达式 expression 为假(false)时,此处会被执行
fi
注意:if和fi必须配对,expression 和方括号([ ])之间必须有空格
3). if ... elif ... fi 语句 或者 if ... elif ... elif ... else ... fi
if [ expression1 ]; then
当条件/表达式 expression1 为真(true)时,此处会被执行
elif [ expression2 ]; then
当条件/表达式 expression2 为真(true)时,此处会被执行
else
上述条件均不满足是,此处会被执行
fi
例如:
sex=$1
if [ $sex == 1 ]; then
echo 先生
elif [ $sex == 0 ]; then
echo 女士
else
echo 保密
fi
注意:例子中的$1表示执行此脚本时,传入的第一个参数;更多条件可无限制使用elif [ expression ]; then 语法结构
例如:
sex=$1
if [ $sex == "男" ]; then
echo Male
elif [ $sex == "女" ]; then
echo Female
else
echo Unknown
fi
#!/bin/sh
curdir=`pwd`
myloc=""
fileext=$2
if [ -n "$1" ]; then
if [ "$1" == "." ]; then
myloc="$curdir/"
elif [ "$1" == "./" ]; then
myloc="$curdir/"
elif [[ $1 == /* ]]; then
if [[ -d "$1" ]]; then
if [[ $1 == */ ]]; then
myloc="$1"
else
myloc="$1/"
fi
fi
else
if [[ -d "$1" ]]; then
if [[ $1 == */ ]]; then
myloc="$curdir/$1"
else
myloc="$curdir/$1/"
fi
fi
fi
else
myloc="$curdir/"
fi
function show_dir_files() {
filetype="$2"
for file in `ls $1`; do
if [ -d $1$file ]; then
show_dir_files "$1$file/" "$filetype"
elif [[ $file == $2 ]]; then
echo $1$file
fi
done
}
if [[ -z "$fileext" ]]; then
fileext="*"
fi
if [[ -n $myloc ]]; then
show_dir_files "$myloc" "$fileext"
fi
保存到$PATH目录下,并命名为finder,同时chmod为755,执行脚本:
打开命令窗口,输入:
finder . "*.mp4"
查找当前目录下(含子目录)的全部MP4文件,
注意后面的通配符需要用双引号括起来!!!
注意后面的通配符需要用双引号括起来!!!
注意后面的通配符需要用双引号括起来!!!
重要的事情说三遍!!!
如果要展示全部类型文件(不含隐藏文件),可只留下路径即可,如:
finder /Users/mr.ding/workspace/upload
上一篇:HTTP协议下的消息分段
下一篇:video.js使用方法