FFMPEG实战——shell语法

本文详细介绍了FFMPEG实战中涉及到的shell脚本知识,包括shell脚本的基本语法,如输出、变量赋值、命令行状态、if条件语句、字符串和文件比较,以及for、while循环的使用。同时,还讲解了输入输出重定向、函数参数传递和函数库引用等高级特性。

1、shell脚本
输出 echo
文件头 #!/bin/bash

初始化标量 ndk=10 text=shell
特殊 text=“i love shell” 有空格需要用引号
text1=$(who)

echo $ndk
echo $text

命令行结束状态
0 成功
127 没有找到命令
1 未知错误
126 命令不可执行

if条件语句
只有if命令的退出状态码为0,才会执行then部分
语法结构

if --命令–
then
–命令–
fi
实例代码

#!/bin/bash
mydir=/usr/jason
#-d检查目录是否存在
if [ -d $mydir ]
then
	echo "$mydir exist"
	cd $mydir
	ls
else
	echo "mydir not exist"
fi

test数值比较
-gt
-eq 等于
-le
-ne 不等于

test 字符串比较
str1==str2
str1!=str2
str1<str2
-n str1 长度是否非0
-z str2 长度是否为0

文件比较
-d 检查是否存在,并且是一个目录
-e 检查file是否存在
-f 检查是否存在,并且是一个文件
-r 检查是否存在,并且可读
-w -x
file1 -nt file2 file1比file2新
file1 -ot file2 file1比file2旧

case命令
case 变量 in
pattern1)命令;;
pattern2)命令;;
*)默认命令;;
esac

实例代码

#!/bin/bash
testuser=rose

case $testuser in
rose)
	echo "hi,$testuser";;
ricky)
	echo "hello, ricky";;
*)
	echo "defaults";;
esac

for命令
for var in list
do
–命令–
done

实例代码

#!/bin/bash

list="Mother\'s Father Brother"
list2="windows--linux--macos"
#IFS字段分隔符
IFS=$--
for item in $list2
do
	echo $item
done	

while命令
while test command
do
–命令–
done

实例代码

#!/bin/bash
a=10
while [ $a -gt 0 ]
do
	echo "num:$a"
	#赋值不用使用$符号
	a=$[ $a - 1 ]
	if [ $a -eq 5 ]
	then
		echo "break"
		break
	fi	
done

输入输出重定向
./14.sh 1>test 将标准输出重定向到test文件,不在输出到屏幕上
实例代码

#!/bin/bash

##标准输入输出
#0 STDIN 
#1 STDOUT 标准输出
#2 STDERR 标准错误

#永久重定向
exec 1>test7
exec 2>test8

#自定义输出
exec 7>test9

echo "cc zz" >&7
echo "cc yy"

ls -a ./ff

函数的传参
实例代码

#!/bin/bash

#函数的传参,返回值
function myfun
{
	echo $[ $1 + $2 ]
}

value=$(myfun 10 90)
echo "value:$value"

函数库的引用
库函数`

#!/bin/bash
#函数库

function add()
{
	echo $[ $1 + $2 ]
}

引用

#!/bin/bash

#引入./17.sh
#source ./17.sh
#.source快捷别名
. ./17.sh

function myfun()
{
	echo $value
}

value=20
myfun

echo "add value:$(add 10 30)"

zhufk
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值