使用多个选项配置脚本

使用多个选项配置脚本

我正在编写一个脚本供个人使用和学习。我希望在脚本顶部有一些可以更改/配置的选项,每次执行脚本时我都可以更改这些选项。
下面只是我想要实现的一个随机示例。
我希望配置脚本以便:如果我定义Backup="timeshift",则应执行相关命令,例如

Command 1 #install timeshift
Command 2 #configure timeshit
Command 3 #make a backup with timeshift

但如果我定义了Backup="snapper",那么它应该安装相关命令,而不是时间移位命令。

Command 4 #install snapper
Command 5 #configure snapper
Command 6 #make a backup with snapper

我还需要脚本在某些部分执行某些命令或不执行任何操作。例如network_backup="true"

Command 7 # upload to the cloud storage

但是如果我network_backup="false"在脚本顶部定义,那么就不应该执行任何操作。

我是编写脚本的新手。
实现我所解释内容的最简单方法是什么。如果有人能解释实现上述内容的另一种/更好的方法,我会很高兴。

答案1

你知道自己想要解决的问题。这是第一步。你也知道成功对你来说是什么样子;这是第二步。现在缺少的是如何思考你想要的和你得到的东西之间的路径。

既然你正在学习,我会建议我认为可能是最佳的方法,然后由你来编写代码。

对于您想要运行的每个备份程序,编写一个bash 函数运行以下命令:

  1. 判断该程序是否安装;
  2. 如果没有,请安装;
  3. 确定程序是否按您希望的方式配置;
  4. 如果不是,请进行配置;并且
  5. 返回退出代码让你知道事情进展如何。

然后,您可以向用户显示程序列表(菜单)并让他们选择一个。这将调用相应的函数。

此后,所需的程序要么已安装并配置,要么未安装并配置,并且您知道是哪种情况。如果失败,您需要退出以便进行调查;如果成功,您将运行该程序。请从此处获取退出代码。

至于其余的“执行命令或不执行任何操作”,设置一个或多个“是/否”提示很简单,同时考虑到备份程序的退出代码。

(现在,如果是我的话,我会为每个程序编写一个单独的脚本。但我更喜欢简单,并且我不介意维护两个或三个简单的脚本而不是一个更复杂的脚本。)

相关内容