我想创建一个 shell 脚本,其中每个项目都有一组指令

我想创建一个 shell 脚本,其中每个项目都有一组指令

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

相关内容