以下简单版本控制脚本用于查找给定文件的最后版本号,增加它,使用新创建的文件(例如,编辑器)运行给定命令,然后将其保存到稳定.由于它很简单,因此不会检查任何内容,因为脚本会根据需要进行修改.例如,如果结果不稳定,则用户可以省略最后一个参数.
但是,当前功能的一个主要问题是如何实现以下内容:如果dot之后的最后一个部分有两个数字,则包括直到99; 如果只有1,那么直到9,然后移动到上一节.版本可以具有任何正整数个部分.
1.2.3.44 -> 1.2.3.45
1.2.3.9 -> 1.2.4.0
1.2.3 -> 1.2.4
9 -> 10
Run Code Online (Sandbox Code Playgroud)
剩下的问题是它不会等待标签式葡萄酒编辑器关闭文件; 目标是检测标签何时关闭.另外,您能解释一下如何最好地确保我的变量名称不会覆盖现有变量名称吗?
您还可以提供其他改进.
#!/bin/bash
#Tested on bash 4.1.5
#All arguments in order: "folder with file" "file pattern" cmd [stable name]
folder="$1"
file_pattern="$2"
cmd="$3"
stable="$4"
cd "$folder"
last_version=$(ls --format=single-column --almost-all | \
grep "$file_pattern" | \
sed -nr 's/^[^0-9]*(([0-9]+\.)*[0-9]+).*/\1/p' | \
sort -Vu | \
tail -n 1)
last_version_file=$(ls --format=single-column --almost-all | \
grep "$file_pattern" | \
grep $last_version | \
tail -n 1) #tail -n …
Run Code Online (Sandbox Code Playgroud)