如果未在命令行中指定,则for循环中的Linux默认值
如何编写一个Linux脚本来打印数字1到n,每行一个但如果未指定n,将使用默认值10。 例如: 脚本名为value /值20应在每行打印1到20 /默认情况下,每行的值应打印1到10 我的剧本:如果未在命令行中指定,则for循环中的Linux默认值,linux,bash,Linux,Bash,如何编写一个Linux脚本来打印数字1到n,每行一个但如果未指定n,将使用默认值10。 例如: 脚本名为value /值20应在每行打印1到20 /默认情况下,每行的值应打印1到10 我的剧本: #!/bin/bash num=$1 for (( i = 1 ; i <= ${num} ; i++ )) do echo $i done #/bin/bash num=$1 对于((i=1;i放入剩余的 检查以下各项: #!/bin/bash num=${1:-10} for
#!/bin/bash
num=$1
for (( i = 1 ; i <= ${num} ; i++ ))
do
echo $i
done
#/bin/bash
num=$1
对于((i=1;i放入剩余的
检查以下各项:
#!/bin/bash
num=${1:-10}
for (( i = 1 ; i <= ${num} ; i++ ))
do
echo $i
done
!/bin/bash
num=${1:-10}
对于((i=1;i您只需捕获一个空参数并替换它,如下所示:
num=$1
[[ -z "$num" ]] && num=10
此方法的优点是可以对参数应用任意检查以确保其有效,而不仅仅是捕获空参数:
deflt=10
[[ -z "$num" ]] && echo 'No argument' && num=$deflt
[[ $num =~ -.* ]] && echo 'Starts with "-"' && num=$deflt
[[ ! $num =~ [0-9]+ ]] && echo 'Not integer' && num=$deflt
[[ $num -gt 99 ]] && echo 'Too big' && num=$deflt
deflt=10
[[ -z "$num" ]] && echo 'No argument' && num=$deflt
[[ $num =~ -.* ]] && echo 'Starts with "-"' && num=$deflt
[[ ! $num =~ [0-9]+ ]] && echo 'Not integer' && num=$deflt
[[ $num -gt 99 ]] && echo 'Too big' && num=$deflt