linux - 如何为默认参数设置编写 Shell 脚本
问题描述
在 shell 脚本中,如何将 0 设置为参数的默认值。
param2=0
${2:-0}
和
${2:-param2}
这些结果是0: not found
和
param=$5
S{1:-$param}
活跃。但 $0 表示 shell 脚本名称。我想使用数字 0。
解决方案
要理解这样的问题,set -x
请在代码之前添加。这将告诉您${2:-0}
扩展为0
. shell 认为这是一个命令并尝试执行它。
如果您查看以下代码,这将更容易理解:
cmd=echo
${cmd} test
如果您运行它,${cmd}
则替换为echo
.
在您的代码中,您可能希望将结果分配${2:-0}
给一个新变量:
foo=${2:-0}
推荐阅读
- java - Spring Boot:在 Runnable 静态线程中访问 Autowired 组件
- python - 在 Python 模块中使用 InstaLoader
- javascript - 如何在 svelte 中向窗口事件/鼠标滚轮添加参数
- java - 如何格式化打印整数,以便小数点左侧的所有位都对齐?
- javascript - highcharts 饼图为每个部分应用一个模态
- html - 试图找到一种方法在 CSS 中的 div 类中居中多个元素
- http - Prolog:process_create 在 http_handler 中不起作用
- php - 如何使用带有 PHP 的单选按钮将某些信息上传到我的数据库?
- python - 接受生日列并返回星座的 Python 函数
- javascript - 在 Rails 应用程序中使用外部脚本时出现 Javascript 空错误