shell $0,$#,$*,$@,$?,$$
时间: 2023-09-09 07:12:57 浏览: 64
这是关于 shell 脚本中常见的一些特殊变量的说明:
- $0:表示当前脚本(或命令)的名称。
- $#:表示传递给脚本(或命令)的参数个数。
- $*:表示所有参数列表,作为单个字符串输出。
- $@:表示所有参数列表,作为多个字符串输出,每个参数都是一个独立的字符串。
- $?:表示上一个命令(或脚本)的退出状态,一般来说,0 表示成功,非 0 表示失败。
- $$:表示当前 shell 进程的进程 ID。
相关问题
shell $# $@
在Shell脚本中,$#表示传递给脚本的参数个数,而$@表示所有传递给脚本的参数列表。\[1\]根据引用\[2\]中的示例运行结果,$#的值为4,表示有4个参数传递给了脚本,而$@的值为"a b c d",表示所有传递给脚本的参数列表。
#### 引用[.reference_title]
- *1* *2* [shell中$的作用](https://blog.csdn.net/GG_SiMiDa/article/details/78488785)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [Shell脚本里面 $#, $@的含义](https://blog.csdn.net/wzyyc/article/details/78194755)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
$0、$1、$2、$#、$*、$@、$$、$?什么意思举例子
这些都是 shell 脚本中的特殊变量,具体含义如下:
- `$0`: 当前脚本的文件名。
- `$1`: 脚本或函数的第一个参数。
- `$2`: 脚本或函数的第二个参数。
- `$#`: 脚本或函数传递参数的个数。
- `$*`: 以一个单字符串表示所有传递给脚本或函数的参数。
- `$@`: 以一个数组形式表示所有传递给脚本或函数的参数。
- `$$`: 当前脚本的进程 ID。
- `$?`: 上一个命令的返回值,如果上一个命令执行成功返回 0,否则返回非零值。
举个例子,比如我们有一个脚本文件 namedemo.sh,内容如下:
```
echo "脚本名:$0"
echo "第一个参数:$1"
echo "第二个参数:$2"
echo "参数个数:$#"
echo "以单字符串形式表示的参数:$*"
echo "以数组形式表示的参数:$@"
echo "当前进程 ID:$$"
echo "上一个命令的返回值:$?"
```
执行 `./namedemo.sh a b c` 后,输出结果如下:
```
脚本名:./namedemo.sh
第一个参数:a
第二个参数:b
参数个数:3
以单字符串形式表示的参数:a b c
以数组形式表示的参数:a b c
当前进程 ID:12345(示例值)
上一个命令的返回值:0
```
可以看到,这些特殊变量可以用来获取脚本或函数的参数,以及其他有用的信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)