`
莫激动
  • 浏览: 43734 次
社区版块
存档分类
最新评论

shell中给变量设置默认值

阅读更多

通常shell中我们需要给变量设置默认值,可能会写出如下代码

 

 

#!/bin/bash
if [ ! $1 ]; then
       $1='default'
fi

 

 

显然这种方式在变量少的时候没啥问题,一旦变量多起来,我们可能就有大量的重复劳动(if判断)

 

有没有比较优雅的方式,不用写一大堆if判断,显然答案是有的

 

1.变量为null时

 

 

#当变量a为null时则var=b
var=${a-b}

 

2.变量为null且为空字符串的时候

 

 

#当变量a为null或为空字符串时则var=b
var=${a:-b}
0
0
分享到:
评论

相关推荐

    Shell脚本专家指南

    第6章 测试变量和设置默认值 6.1 设置默认值 6.2 变量替换 6.2.1 :=句法 6.2.2 =句法 6.2.3 :-句法 6.2.4 -句法 6.2.5 :?句法 6.2.6 ?句法 6.2.7 :+句法 6.2.8 +句法 第7章 非直接引用变量 7.1 用非直接变量...

    shell中冒号的特殊用法分享

    您可能感兴趣的文章:shell脚本中28个特殊字符的作用简明总结Shell命令行中特殊字符与其转义详解(去除特殊含义)Shell脚本中的特殊字符(美元符、反斜杠、引号等)作用介绍Shell脚本中的位置变量参数(特殊字符)实例...

    FANUC机器人系统变量累计.xls.pdf

    ⽰教速度限制 $SHELL_CFG、$SET_IOCOMNT TRUE:在config中分配的信号可以在数字信号中看到注释 信号注解 FALSE:在config分配后数字信号中没有注释 $PARAM_GROUP.$BELT_ENABLE TRIE:可以检查到⽪带断掉异常 轴异常 ...

    freemarker命令简介

    给变量默认值 判断对象是不是null 常用格式化日期 添加全局共享变量数据模型 直接调用java对象的方法 字符串处理(内置方法) 在模板里对sequences和hashes初始化 注释标志 sequences内置方法 hashes内置方法

    dircolors命令 设置 ls 指令在显示目录或文件时所用的色彩

    dircolors可根据色彩配置文件来设置LS_COLORS环境变量或是显示设置LS_COLORS环境变量的shell指令。 语法格式:dircolors [参数] 常用参数: –help 在线帮助 –vesion 显示版本信息 -b 显示在Boume ...

    ansible-octoprint:在 Raspberry Pi 上设置 octoprint 的 Ansible 角色

    基本上 octoprint 配置中的所有选项都可以通过变量设置 默认值 名称 默认 描述 octoprint_version 1.1.2 要结帐的八进制版本。 这应该是一个分支或标签名称。 octoprint_user 八字纹 octoprint 在其下运行的...

    awstoken:Shell函数检索AWS STS令牌以进行两因素身份验证访问

    在脚本中设置了默认值,如果使用默认值将触发警告。 用法 awstoken 123456 [profile_name] 这是一个壳函数。 它被编写为一个函数,因为整个目的是重写shell环境变量,而子shell将无法做到这一点。 您应该安排“ ...

    mkssl:使用OpenSSL创建证书颁发机构和证书的Shell脚本

    在这里,您可以设置默认值(由变量名后的_default表示)。 任何没有默认设置的设置(例如localityName都可以通过附加_default来进行一项设置。 在这种情况下,您将设置localityName_default 。 现在,我们继续创建一...

    LinuxShell从入门到删除根目录跑路指南

    (1)利用shell的变量扩展功能,如果变量为空赋给默认值或者抛出异常退出脚本:(2)人肉判断变量是否为空:(3)如果变量未定义还可以开启set选项:史上最经典的要数下面这个bumblebee项目了,这个项目本来不出名,不过,...

    util

    GTB实用程序 该repo内含GTB用到的各种公共工具,或者用于批量下载书籍家庭作业资料库的工具等。 安装 brew install GTB-training/gtb/util 目前包含如下命令: ...请在您的SHELL初始化文件中插入设置。 GTB_STUDENTS

    vs-shell:GitHub行动建立Visual Studio Shell环境

    Visual Studio外壳 这个GitHub动作会在您的工作流程运行中设置一个Visual Studio Shell。... 该操作将由vcvars * .bat脚本之一设置的环境变量传递给调用作业。 执照 根据MIT许可证分发。 有关详细信息,请参见 。

    shell-term-background:POSIX Shell脚本可确定终端是否具有深色或浅色背景

    对于Shell脚本,如果从Shell会话中获取此脚本,则会将COLORFGBG设置并导出为0;15 (深色背景)和15;0 (浅色背景),这是某些程序使用的约定。 由于我发现这有点不可思议,因此该程序还将深色背景的LC_DARK_BG设置并...

    docker-ghost:一个多功能的 Ghost 博客(一个开源 NodeJS 博客软件)

    它基于 Image 在 Docker Registry 查看在 GitHub 查看环境变量和默认值幽灵变量GHOST_LISTEN_IP 默认值: 0.0.0.0 GHOST_URL 默认值: http://localhost - 只需将其设置为您的博客 URL,例如 GHOST_MAIL 默认值:未...

    docker-owncloud:一个 Docker OwnCloud 容器

    它基于 Image 在 Docker Registry 在 GitHub环境变量和默认值对于需要无头安装OwnCloud 安装设置OWNCLOUD_DO_NOT_INITIALIZE 默认未设置 - 设置为任何值,跳过初始化过程OwnCloud 数据库设置OWNCLOUD_MYSQL_USER 无...

    ansible-role-virtualenvwrapper:Ansible角色,用于安装和配置python virtualenvwrapper

    virtualenvwrapper_shell_rc_file = "{{ lookup('env', 'HOME') }}/.{{ lookup('env', 'SHELL') | replace('/bin/','') }}rc" -外壳的将为其设置virtualenvwrapper变量的配置文件。 virtualenvwrapper_venvs_home =...

    ansible-role-pyenv:安装pyenv的角色

    pyenv 安装 ,一个简单的Python版本管理器。 在macOS上,安装是通过Homebrew完成的。 在Linux上, pyenv存储库是通过git克隆的。... 用于设置pyenv Shell。 控制插入的行以及进入哪个shell配置文件

    docker-apache2-ssl-secure:基于 _ubuntu 的 Docker Apache2 容器

    环境变量和默认值 HSTS_HEADERS_ENABLE 默认值:未设置 - 如果设置为任何值,将在 SSL 通道上激活 HTTP 严格传输安全 HSTS_HEADERS_ENABLE_NO_SUBDOMAINS 默认值:未设置 - 如果与HSTS_HEADERS_ENABLE一起设置并...

    docker-piwik-nginx:在Nginx docker映像上运行的piwik,状态足以重新启动

    php nginx设置来自此图像中的命令在Docker注册表中查看 在GitHub中查看环境变量和默认值对于无头安装Piwik数据库设置PIWIK_MYSQL_USER 没有默认值-如果为null,它将在初始模式下启动piwik PIWIK_MYSQL_PASSWORD ...

    ansible-role-ohmyzsh:Ansible角色,用于安装和配置oh-my-zsh

    下面列出了可用的变量以及默认值(请参见defaults/main.yml ): ohmyzsh_copy_zshrc: true 是否设置复制.zshrc文件。 如果您已经拥有自己的副本,则可以将其设置为false 。 ohmyzsh_change_shell: true 是否...

    ansible-nginx:角色扮演。 安装和配置Nginx

    查看vars中的默认值和示例。 工作流程 将shell更改为/ bin / sh shell> ansible webserver -e 'ansible_shell_type=csh ansible_shell_executable=/bin/csh' -a 'sudo pw usermod freebsd -s /bin/sh' 安装角色 ...

Global site tag (gtag.js) - Google Analytics