首页 > 解决方案 > 如何为默认参数设置编写 Shell 脚本

问题描述

在 shell 脚本中,如何将 0 设置为参数的默认值。

param2=0
${2:-0}

${2:-param2}

这些结果是0: not found

param=$5 
S{1:-$param} 

活跃。但 $0 表示 shell 脚本名称。我想使用数字 0。

标签: linuxbashshell

解决方案


要理解这样的问题,set -x请在代码之前添加。这将告诉您${2:-0}扩展为0. shell 认为这是一个命令并尝试执行它。

如果您查看以下代码,这将更容易理解:

cmd=echo
${cmd} test

如果您运行它,${cmd}则替换为echo.

在您的代码中,您可能希望将结果分配${2:-0}给一个新变量:

foo=${2:-0}

推荐阅读