首页 > 代码库 > 14.自学Linux之路:位置参数,交互式脚本,给变量以默认值
14.自学Linux之路:位置参数,交互式脚本,给变量以默认值
知识点1:位置参数
位置参数:#/tmp/tesh.sh 3 89
$0:脚本自身
$1:脚本的第一个参数
$2:脚本的第二个参数
....
例:任意给两个整数,求和,差,积,商
#nano dd.sh
#!/bin/bash
#
echo $1
echo $2
echo $0
#chmod +x dd.sh
#./pos.sh 5 9
结果:5
9
dd.sh
#!/bin/bash
#
echo "the sum is :$[$1+$2]."
echo "the mul is :$[$1*$$2]."
#./dd.sh 5 9
结果:14
45
特殊变量:
$#:位置参数的个数
#!/bin/bash
#
echo "the sum is :$[$1+$2]."
echo "the mul is :$[$1*$$2]."
echo $#
#./dd.sh 5 9
结果:14
45
4
$@,$*:显示所有的位置变量
#!/bin/bash
#
echo "the sum is :$[$1+$2]."
echo "the mul is :$[$1*$$2]."
echo $#
echo $*
#./dd.sh 5 9 1 4 3 5 6
结果:14
45
7
5 9 1 4 3 5 6
知识点2:交互式脚本
#read num1
566
#read num2
665
read -p:类似于python中的input函数
-t:设置变量赋值时间,单位为秒
#read a b #read a b #read a b
50 100 30 30 50 60 70
#echo $a #echo $a #echo $a
50 30 30
#echo $b #echo $b #echo $b
100 (NULL) 50 60 70
知识点3:给变量加上默认值
#varName=${varName:-value}
例:#a=${a:-45}
若a本身有值,就用其本身的值
若a本有没值,就用45这个默认值
#unset a:清空变量a的值
练习:给定一个文件路径,来判断文件内容的类型
#!/bin/bash
read -p "Enter a path to some file:" fileName
echo "This file `file $fileName`"
14.自学Linux之路:位置参数,交互式脚本,给变量以默认值