随笔 - 61,  文章 - 1,  评论 - 0,  阅读 - 58624

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

posted on   天外来客I  阅读(4193)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示