2021-06-18 09:45:00
1.$符号基本用法:
通常情况下,在工作中用的最多的有如下几项:
$0:Shell 的命令本身
$1 到 $9:表示 Shell 的第几个参数
$? :显示最后命令的执行情况
$#:传递到脚本的参数个数
$$:脚本运行的当前进程 ID 号
$*:以一个单字符串显示所有向脚本传递的参数
$!:后台运行的最后一个进程的 ID 号
$-:显示 Shell 使用的当前选项
2.引用变量:-------------${}-------------------
语法:$x或${x}
echo $x
echo "x = $x" out:x = 1024
echo "x = ${x}xy" out:x = 102xy #使用 ${ } 作为单词边界
3.${#str}获取字符str长度
语法:${#str}
echo "str.length = ${#str}" #str="hello world"
4.执行shell命令----------$()-------------------
语法:$(command) 需要用在shell语句中间,无法单独使用
echo $(date)
echo $(ping www.baidu.com -c 2) #字符串没有换行
echo $(ls) #字符串没有换行
5.表达式求值------------$[]-------------------
语法:$[a+b] 需要用在shell语句中间,无法单独使用
$[a+b] 不能在命令行单独输出,要用在其它语句中间,而expr计算表达值可以单独输出
echo $[a+b]
expr $a + $b
6.整数运算、逻辑判断------------$(())-------------------
语法:$((a+b*c)) if ((a > b)) 支持C语言运算符和表达式
echo $((a+b*c))
if (( a < b )); then echo "abcd" ; fi
7.调用shell脚步文件输入参数:
语法:$1 $2 $3
echo 'echo $1 $2 $3' > ping.sh
echo $1 $2 $3
cmd:sh ping.sh 1 2 3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现