Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 73.7MB ·虚拟内存 1303.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
在正常情况下,变量名只能包含数字、字母和下划线。但是,某些 Shell变量 因为包含了其他字符的变量,从而有了特殊含义,这样的变量被称为特殊变量。它们分别是:$#、$*、$n、$@、$?、$$。
变量 | 含义 |
---|---|
$0 | 当前脚本的文件名。 |
$n(n≥1) | 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。 |
$# | 传递给脚本或函数的参数个数。 |
$* | 传递给脚本或函数的所有参数。 |
$@ | 传递给脚本或函数的所有参数。当被双引号" "包含时,$@ 与 $* 稍有不同。 |
$? | 上个命令的退出状态,或函数的返回值。 |
$$ | 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。 |
编写下面的代码,并保存为 test.sh:
#!/bin/bash echo "Process ID: $$" echo "File Name: $0" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#"
运行 test.sh,并附带参数:
[mozhiyan@localhost demo]$ . ./test.sh Shell Linux Process ID: 5943 File Name: bash First Parameter : Shell Second Parameter : Linux All parameters 1: Shell Linux All parameters 2: Shell Linux Total: 2
编写下面的代码,并保存为 test.sh:
#!/bin/bash #定义函数 function test(){ echo "Language: $1" echo "URL: $2" echo "First Parameter : $1" echo "Second Parameter : $2" echo "All parameters 1: $@" echo "All parameters 2: $*" echo "Total: $#" } #调用函数 test Java http://www.aizws.net/java/
运行结果为:
Language: Java URL: http://www.aizws.net/java/ First Parameter : Java Second Parameter : http://www.aizws.net/java/ All parameters 1: Java http://www.aizws.net/java/ All parameters 2: Java http://www.aizws.net/java/ Total: 2
字符串就是一系列字符的组合。字符串和数字是 Shell 编程中最常用的数据类型。 字符串可以由单引号包围,也可以由双引号包围,也可以不用引号。我们可以计算字符串长度、拼接字符串以及截取字符串。