脚本-1 findFile
configPath=$1
configContent=(`cat $configPath`)
cfiglen=${#configContent[@]}
path=$2
remoteCodePath=$3
cd $path
fileArray=(`ls | cut -d "." -f1`)
len=${#fileArray[@]}
index=0
for ((i=0;i<$len;i=i+1))
do
if(($index == $cfiglen));
then
index=0;
fi
if(($index != $cfiglen));
then
ssh root@${configContent[index]} /lekan/shell/transcode ${fileArray[i]} $remoteCodePath
echo ${configContent[index]} "------" ${fileArray[i]}
index=$(($index+1))
fi
done
---------------------------------------
脚本-2 transcode
fileName=$1
codePath=$2
if [ $fileName != "" ]; then
cd $codePath
videoId=`source ./fileRule getVideoId $fileName`
type=`source ./fileRule getType $fileName`
echo "fileName="$fileName",type="$type",videoId="$videoId
filePath="/lekan/"
ssmPath=$filePath`source ./fileRule getVideoPath $fileName`video.ssm/
mp4Path=$filePath`source ./fileRule getVideoPath $fileName`
imagePath=$filePath`source ./fileRule getImagePath $fileName`
echo "ssmPath="$ssmPath
echo "mp4Path="$mp4Path
echo "imagePath="$imagePath
urlPath="http://192.168.0.48:9001/transcode.jsp"
sta=`curl --data "operate=1&fileName=$fileName" $urlPath`
if [ "$sta" == "0" ]; then
echo $fileName "trancode error"
elif [ "$sta" == "1" ]; then
echo "start transcode filename=$fileName"
if [ -d "$ssmPath" ];then
echo "ssmPath exist"
else
mkdir -p "$ssmPath"
fi
if [ -d "$imagePath" ]; then
echo "imagePath exist"
else
mkdir -p "$imagePath"
touch $imagePath"screenshot_data.xml"
source ./cxml $imagePath
fi
else
echo "unknown error"
fi
fi
---------------------------------------
脚本-3 fileRule
fileNamep=$2
function getType(){
if [ `expr index $fileNamep 'M'` \> 0 ]; then
echo 4
fi
if [ `expr index $fileNamep 'E'` \> 0 ]; then
echo 1
fi
}
function getVideoId(){
if [ `expr index $fileNamep 'M'` \> 0 ]; then
strMIdx=`expr index $fileNamep 'M'`
strMIdx=`expr $strMIdx - 1`
videoId=`expr substr "$fileNamep" 1 $strMIdx`
echo $videoId
fi
if [ `expr index $fileNamep 'E'` \> 0 ]; then
strEIdx=`expr index $fileNamep 'E'`
strEIdx=`expr $strEIdx - 1`
videoId=`expr substr "$fileNamep" 1 $strEIdx`
echo $videoId
fi
}
function getVideoPath(){
videoId=`getVideoId`
echo `expr $videoId % 1000`/`expr $videoId % 100`/$fileNamep/
}
function getImagePath(){
videoId=`getVideoId`
imagePath=""
lenth=`expr length $videoId`
if [ $lenth -le 2 ]; then
imagePath=$videoId/shot/
echo $imagePath
else
idx=1
while [ $idx -le $lenth ]; do
if [ $idx -ge $lenth ]; then
idx=$lenth
fi
imagePath+=`expr substr "$videoId" $idx 2`/
idx=`expr $idx + 2`
done
imagePath+=shot/
echo $imagePath
fi
}
if [ "$1" == "getType" ]; then
getType
fi
if [ "$1" == "getVideoId" ]; then
getVideoId
fi
if [ "$1" == "getVideoPath" ]; then
getVideoPath
fi
if [ "$1" == "getImagePath" ]; then
getImagePath
fi
-------------------------------------------
脚本-4 cxml
path=$1
xmlfile=$path"screenshot_data.xml"
cd $path
echo > $xmlfile
if [ -f $xmlfile ]; then
echo -e "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<shot>\n<time>60</time>" > $xmlfile
imgList=(`ls *_84x46.jpg`)
len=${#imgList[@]}
for((i=0;i<$len;i=i+1))
do
echo -e "<pic time=\"10\" file=\"shot/"${imgList[i]}"\"/>" >> $xmlfile
done
echo "</shot>" >> $xmlfile
echo "operate xml success xmlfile="$xmlfile
else
echo "operate xml error xmlfile="$xmlfile
fi
--------------------------------------------
echo "email conetnt" | mail -s "email subtitle" toEmail
发送Email
--------------------------------------------
stat -c "%s" file 查看文件大小
分享到:
相关推荐
在本文中,我们将深入探讨Shell的学习,包括创建和执行Shell脚本、使用变量、处理字符串、操作数组以及处理参数和运算符。 一、创建及执行Shell文件 创建Shell脚本通常涉及三个主要步骤: 1. 使用文本编辑器创建一...
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
shell学习01
在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...
在Shell学习中,首先需要了解的是一些基础概念。例如,当用户登录到Linux系统时,系统会根据/etc/passwd文件中的信息来决定使用哪个Shell。用户可以在命令提示符下输入命令,由Shell进行解释和执行。例如,输入命令...
Shell学习第一章主要涵盖了Shell脚本语言的基础知识,包括Shell的介绍、基本语法、变量和字符串操作等内容。以下是对这些知识点的详细阐述: 1. **Shell介绍**:Shell是一种命令行解释器,它允许用户与操作系统进行...
shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识
**实用的Shell学习资料概述** Shell是Linux和Unix操作系统中的一种命令解释器,它作为用户与操作系统之间交互的界面,允许用户输入命令并执行。在众多的Shell中,Bash(Bourne Again SHell)是最流行的一个,广泛...
Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对UNIX的用户与系统管理者而言,编写Shell脚本是必须的工作,它可以让你快速地控制与定制任何UNIX系统的强大功能。有了Shell...
《Shell脚本学习手册》 Shell,是Linux系统中的一种命令语言和程序设计语言,它由C语言编写,作为用户与操作系统内核交互的桥梁。Shell不仅提供了命令行接口,还允许用户编写脚本程序,实现自动化任务处理。本文将...
Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手
以下是对标题“shell学习经典资料”及相关文件的详细解析: 首先,我们看到标题提及了“shell学习”,这指的是对shell编程的学习。Shell编程是一种使用命令行界面编写脚本的技能,它允许用户通过编写简单的或复杂的...
一些shell脚本的学习指南。一些典型的例子
shell学习资料02
### Shell脚本学习指南知识点详解 #### 一、Shell脚本概述 - **定义与作用**:Shell脚本是用于Unix/Linux系统中的自动化任务的一种编程语言。它通过一系列的命令来实现对系统的控制和管理,可以极大地提高工作效率...
1. **Shell种类**:常见的Shell有Bash(Bourne-Again SHell)、C Shell(csh)、Korn Shell(ksh)和Z Shell(zsh),其中Bash是最广泛使用的Shell。 2. **命令行界面**:Shell提供了一个命令行界面,用户可以通过...