本文主要是介绍shell 变量引用 ${}、$,传参 $1、$2,四则运算 $[],希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
变量引用
两种:
${变量名}
$变量名
例如:
filepath="/home/mytool"
filename="t1.txt"
可以写成
echo "$filepath/$filename"
或者
echo "${filepath}/${filename}"
打印结果:
/home/mytool/t1.txt
变量的判断
还有一些变量判断的使用:
${varname:-word} # varname为空就返回wrod,不为空就返回varname。目的是返回一个默认值
${varname:+word} # varname为空就返回空,不为空就返回varname。目的是测量varname是否有值
${varname:=word} # varname为空就返回word,并且把word赋值给varname
${varname:?message} # varname为空,就返回message作为提示信息。目的是提醒操作者需要给值。
上面语法的含义是,如果变量varname
存在且不为空,则返回它的值,否则打印出varname: message
,并中断脚本的执行。如果省略了message
,即${varname:?}则输出默认的信息“parameter null or not set.”。它的目的是防止变量未定义,比如${count:?"undefined!"}
表示变量count
未定义时就中断执行,抛出错误,返回给定的报错信息undefined!
。
# 1表示脚本的第一个参数(在执行脚本的时候传参)。如果该参数不存在,就退出脚本并报错filename missing.。
filename=${1:?"filename missing."}
变量 - 《阮一峰 Bash 脚本教程》 - 书栈网 · BookStack
四则运算
$(( )) 或 $[ ]
echo $[5+2] # 7echo $[5*2] # 10num=$[2**10]
echo $num # 1024
shell脚本——简单的四则运算和shell计算器脚本_编写一个能读入位置参数实现任意四则运算功能shell脚本-CSDN博客
传参 $1 $2
创建脚本 t1.sh
#/bin/bash
echo "$1 * $2 + $3 = $[ $1 * $2 + $3 ]"
执行脚本:
sh t1.sh 1 2 3
或者
./t1.sh 1 2 3
shell脚本中$0 $1 $# $@ $* $? $$ 的各种符号意义详解_shell $0-CSDN博客
这篇关于shell 变量引用 ${}、$,传参 $1、$2,四则运算 $[]的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!