![我想创建一个 shell 脚本,其中每个项目都有一组指令](https://linux22.com/image/935137/%E6%88%91%E6%83%B3%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%20shell%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%85%B6%E4%B8%AD%E6%AF%8F%E4%B8%AA%E9%A1%B9%E7%9B%AE%E9%83%BD%E6%9C%89%E4%B8%80%E7%BB%84%E6%8C%87%E4%BB%A4.png)
我想创建一个 shell 脚本,其中每个项目都有一组指令,包括为每个不同的 clearcase 视图设置不同的组来设置。
我遇到了困难,因为 setview 和 newgrp 都创建了自己的子 shell 并退出了脚本。
我需要帮助,希望得到其他想法或解决此问题的方法。我将非常感激您的帮助。
答案1
尝试使用如下所示的结构来根据设置的内容处理变量,这称为语句case
。我使用它来校正视频文件所需的宽高比,我向您展示了它的 4:3 部分。
# File processing according to extension found
case $EXTENSION in
mkv)
# Use ffmpeg to correct aspect ratio
~/Bin/ffmpeg -i "$i" -vcodec copy -acodec copy -aspect 4:3 "newfiles/$NAME.mkv"
# Use mkvmerge to get rid of many English ffmpeg leaves in the Metadata
~/Bin/mkvmerge --no-subtitles "newfiles/$NAME.mkv" -o "newfiles/$NAME"
# remove no longer needed newly created by ffmpeg file
rm "newfiles/$NAME.mkv"
# Delete title (movie name) if any
~/Bin/mkvpropedit "newfiles/$NAME" -d title
;;
m4v)
# Use ffmpeg to correct aspect ratio
~/Bin/ffmpeg -i "$i" -vcodec copy -acodec copy -aspect 4:3 "newfiles/$NAME"
;;
mp4)
# Use ffmpeg to correct aspect ratio
~/Bin/ffmpeg -i "$i" -vcodec copy -acodec copy -aspect 4:3 "newfiles/$NAME"
;;
avi)
# Use ffmpeg to correct aspect ratio
~/Bin/ffmpeg -i "$i" -vcodec copy -acodec copy -aspect 4:3 "newfiles/$NAME"
;;
# no mkv, mp4, avi or m4v file found
*) echo "$NAME is not a media file."
esac