仅在用户输入需要时才创建变量?

萨钦
#!/usr/bin/env bash

#list of variables created
#variable1="$(command1)"
#variable2="$(command2)"
#variable3="$(command3)"
#variable4="$(command4)"
#variable5="$(command5)"

echo "some question"
read -p "Enter Input from 1 to 10" input
case $input in
   1)
    echo $variable1
    echo $variable2
    echo $variable3;;
   2)
    echo $variable2
    echo $variable3
    echo $variable4;;
   3)
    echo $variable3
    echo $variable4
    echo $variable5;;
esac

如您所见,有一些变量列表正在创建,以后将根据用户输入在case语句中使用

由于单个用户输入不需要所有变量,因此我认为通过提前创建每个变量来不必要地增加脚本运行时间。我不希望事先创建所有变量。如果所选用户输入需要它们,则应创建它们

我知道我可以在case语句中的可能的用户输入中直接创建这些变量,以便仅当用户选择了该输入时才创建特定变量,但是输入很多,每个输入都需要多个变量,这实际上会使脚本相当长。我想知道是否有一种聪明的方法来实现这一目标,这将有助于减少脚本运行时间?

oguz ismail

如果模式动作对以终止;;&,则bash会继续执行下一个模式,就好像当前模式不匹配一样,而不是从case当前正在处理命令中返回

利用此功能,可以将问题中的示例脚本简化为:

#!/usr/bin/env bash
read -r -p 'prompt' input
case $input in
(1)
  command1 ;;&
(1|2)
  command2 ;;&
(1|2|3)
  command3 ;;&
(2|3)
  command4 ;;&
(3)
  command5 ;;
esac

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅在安装了模块时才需要

来自分类Dev

仅在用户确认后才WPF MVVM更新源属性

来自分类Dev

当程序需要整数时,如何在用户输入字符串时防止程序终止?

来自分类Dev

iOS:如何仅在用户拖动滚动条时才允许滚动?

来自分类Dev

仅在用户登录后才允许运行Meteor服务器方法

来自分类Dev

仅在用户首先在输入中键入“ x”时才执行操作

来自分类Dev

仅在用户右键单击项目时才显示contextMenu

来自分类Dev

仅在用户登录时显示portlet

来自分类Dev

仅在用户登录后才显示页面?Ruby / Devise

来自分类Dev

我需要在用户输入值时动态查找用户输入值的总和,并自动显示值的总和

来自分类Dev

仅在创建帖子时才需要元框,而不在编辑帖子中时

来自分类Dev

PHP-仅在用户等级为1时,我才尝试授予对页面的访问权限

来自分类Dev

仅在用户进行交互但未在隐藏输入字段中获取值时才加载Recaptcha库的触发器

来自分类Dev

删除通道,并且仅在用户而不是BOT响应消息时才运行代码

来自分类Dev

Flutter滑块仅在用拇指条拖动时才滚动

来自分类Dev

仅在用户登录并具有特定UID时才加载页面的功能?

来自分类Dev

如何创建一个仅在单击/切换时才显示某些输入的按钮?

来自分类Dev

正则表达式仅在用户名中不匹配时才匹配“ _”字符

来自分类Dev

SwiftUI:如何仅在用户停止在TextField中键入内容时才运行代码?

来自分类Dev

是否有一个javascript事件侦听器仅在用户向上滚动时或仅在用户向下滚动时才检测?

来自分类Dev

仅在用户首先在输入中键入“ x”时才执行操作

来自分类Dev

仅在用户存在回声输入或回声输入达到期望值时,才从用户回声输入

来自分类Dev

在Meteor中,如何仅在用户使用特定外部服务登录时才加载JavaScript?

来自分类Dev

仅在用户完成操作后才可访问网页

来自分类Dev

Grails 3 Spring Security Core:仅在用户未登录时才授予访问权限

来自分类Dev

不仅在用户输入文字时,还应在应用初始化时调用shouldChangeCharactersInRange

来自分类Dev

仅当文件不存在时,才在用户给定的路径中创建文件

来自分类Dev

Firebase(AngularFire2)仅在用户存在时才允许OAuth登录

来自分类Dev

React/React Hooks:需要在用户取消选中复选框时触发输入验证

Related 相关文章

  1. 1

    仅在安装了模块时才需要

  2. 2

    仅在用户确认后才WPF MVVM更新源属性

  3. 3

    当程序需要整数时,如何在用户输入字符串时防止程序终止?

  4. 4

    iOS:如何仅在用户拖动滚动条时才允许滚动?

  5. 5

    仅在用户登录后才允许运行Meteor服务器方法

  6. 6

    仅在用户首先在输入中键入“ x”时才执行操作

  7. 7

    仅在用户右键单击项目时才显示contextMenu

  8. 8

    仅在用户登录时显示portlet

  9. 9

    仅在用户登录后才显示页面?Ruby / Devise

  10. 10

    我需要在用户输入值时动态查找用户输入值的总和,并自动显示值的总和

  11. 11

    仅在创建帖子时才需要元框,而不在编辑帖子中时

  12. 12

    PHP-仅在用户等级为1时,我才尝试授予对页面的访问权限

  13. 13

    仅在用户进行交互但未在隐藏输入字段中获取值时才加载Recaptcha库的触发器

  14. 14

    删除通道,并且仅在用户而不是BOT响应消息时才运行代码

  15. 15

    Flutter滑块仅在用拇指条拖动时才滚动

  16. 16

    仅在用户登录并具有特定UID时才加载页面的功能?

  17. 17

    如何创建一个仅在单击/切换时才显示某些输入的按钮?

  18. 18

    正则表达式仅在用户名中不匹配时才匹配“ _”字符

  19. 19

    SwiftUI:如何仅在用户停止在TextField中键入内容时才运行代码?

  20. 20

    是否有一个javascript事件侦听器仅在用户向上滚动时或仅在用户向下滚动时才检测?

  21. 21

    仅在用户首先在输入中键入“ x”时才执行操作

  22. 22

    仅在用户存在回声输入或回声输入达到期望值时,才从用户回声输入

  23. 23

    在Meteor中,如何仅在用户使用特定外部服务登录时才加载JavaScript?

  24. 24

    仅在用户完成操作后才可访问网页

  25. 25

    Grails 3 Spring Security Core:仅在用户未登录时才授予访问权限

  26. 26

    不仅在用户输入文字时,还应在应用初始化时调用shouldChangeCharactersInRange

  27. 27

    仅当文件不存在时,才在用户给定的路径中创建文件

  28. 28

    Firebase(AngularFire2)仅在用户存在时才允许OAuth登录

  29. 29

    React/React Hooks:需要在用户取消选中复选框时触发输入验证

热门标签

归档