在脚本中添加一些空运行选项

吉姆

我有一个接受参数的脚本,如果未设置,则使用默认脚本。

VALUE=$1
if [[ -z "$VALUE" ]];  
   VALUE=foo #some function returns the default  
fi  

然后脚本继续执行操作。
我想“增强”它并提供一些dry run选择。这样,如果通过了,我们将得到类似

if [[ -z "$DRY" ]];  
  echo "command x y z"  
else 
  command "x" "y" "z"  
fi  

我怎样才能做到这一点?

库萨兰达

做适当的命令行解析,然后选择如何进行实际的空运行。

命令行解析:

#!/bin/sh

dry_run=false

while getopts 'n' opt; do
    case "$opt" in
        n) dry_run=true ;;
        *) echo 'error in command line parsing' >&2
           exit 1
    esac
done

现在,$dry_run将是true用户使用-n命令行选项调用脚本的情况

然后,选择如何进行空运行。一种简单的方法是使用set -v(在shell读取命令时显示命令),然后使用set -n(实际上不运行任何命令):

if "$dry_run"; then
    set -v
    set -n
fi

这可能不是您想要的,因为它只会显示脚本。

相反,您可以选择执行

if "$dry_run"; then
    cmd=echo
else
    cmd=''
fi

然后在要运行的特定命令前面加上前缀$cmd

$cmd ls -l
$cmd echo "hello world"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Docker容器中运行一些脚本?

来自分类Dev

在Ruby脚本中实现空运行

来自分类Dev

在PyVmomi中寻找一些脚本

来自分类Dev

在 jquery 函数中创建选项卡并在其参数中添加一些内容

来自分类Dev

是否可以在GRUB中添加一些“ PXE网络启动”选项?

来自分类Dev

是否可以在GRUB中添加一些“ PXE网络启动”选项?

来自分类Dev

在段落中添加一些空白

来自分类Dev

在警报中添加一些文本

来自分类Dev

从选择选项中删除一些选项

来自分类Dev

添加Google分析代码后,WordPress管理主题选项为空,并且显示一些脚本错误

来自分类Dev

使用一些可选参数运行python脚本

来自分类Dev

当脚本 src 被阻止时添加一些 HTML 元素

来自分类Dev

pygame中的多人游戏程序在添加一些代码后运行非常慢

来自分类Dev

Linux中C上程序的一些选项

来自分类Dev

从房间配置 MUC 中删除一些选项

来自分类Dev

Java脚本中的一些大数字问题

来自分类Dev

一些命令在bash脚本中不起作用

来自分类Dev

我尝试在以下脚本中添加以下脚本以列出一些产品,但添加此脚本菜单栏不起作用。为什么?

来自分类Dev

如何在python脚本中运行一些代码,然后暂停脚本并等待来自另一个脚本的函数调用

来自分类Dev

无法将一些代码添加到我的点数计数器脚本中

来自分类Dev

在每次芹菜任务运行中执行一些操作

来自分类Dev

在配置Azure FunctionsStartup中运行一些启动任务

来自分类Dev

仅在特定环境中运行一些测试

来自分类Dev

在每次芹菜任务运行中执行一些操作

来自分类Dev

Jenkins:在构建摘要中添加一些文本

来自分类Dev

是否可以在`boost :: signal`中添加一些条件?

来自分类Dev

一些文本被添加到JavaScript的变量中

来自分类Dev

在C#中向EventHandler添加一些参数

来自分类Dev

如何在rethinkDB中添加一些矩阵?

Related 相关文章

  1. 1

    如何在Docker容器中运行一些脚本?

  2. 2

    在Ruby脚本中实现空运行

  3. 3

    在PyVmomi中寻找一些脚本

  4. 4

    在 jquery 函数中创建选项卡并在其参数中添加一些内容

  5. 5

    是否可以在GRUB中添加一些“ PXE网络启动”选项?

  6. 6

    是否可以在GRUB中添加一些“ PXE网络启动”选项?

  7. 7

    在段落中添加一些空白

  8. 8

    在警报中添加一些文本

  9. 9

    从选择选项中删除一些选项

  10. 10

    添加Google分析代码后,WordPress管理主题选项为空,并且显示一些脚本错误

  11. 11

    使用一些可选参数运行python脚本

  12. 12

    当脚本 src 被阻止时添加一些 HTML 元素

  13. 13

    pygame中的多人游戏程序在添加一些代码后运行非常慢

  14. 14

    Linux中C上程序的一些选项

  15. 15

    从房间配置 MUC 中删除一些选项

  16. 16

    Java脚本中的一些大数字问题

  17. 17

    一些命令在bash脚本中不起作用

  18. 18

    我尝试在以下脚本中添加以下脚本以列出一些产品,但添加此脚本菜单栏不起作用。为什么?

  19. 19

    如何在python脚本中运行一些代码,然后暂停脚本并等待来自另一个脚本的函数调用

  20. 20

    无法将一些代码添加到我的点数计数器脚本中

  21. 21

    在每次芹菜任务运行中执行一些操作

  22. 22

    在配置Azure FunctionsStartup中运行一些启动任务

  23. 23

    仅在特定环境中运行一些测试

  24. 24

    在每次芹菜任务运行中执行一些操作

  25. 25

    Jenkins:在构建摘要中添加一些文本

  26. 26

    是否可以在`boost :: signal`中添加一些条件?

  27. 27

    一些文本被添加到JavaScript的变量中

  28. 28

    在C#中向EventHandler添加一些参数

  29. 29

    如何在rethinkDB中添加一些矩阵?

热门标签

归档