我想创建一个 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