博客
关于我
Linux学习总结(67)——shell脚本中$0 $1 $# $@ $* $? $ 等总结
阅读量:791 次
发布时间:2023-02-03

本文共 958 字,大约阅读时间需要 3 分钟。

$# 是传给脚本的参数个数

在shell脚本中,$#表示传递给脚本的参数总数。这个变量是一个计数器,能够帮助脚本了解它接收到了多少个参数。

$0 是脚本本身的名字

$0变量通常用来表示脚本本身的名字。它不会被传递给脚本本身,而是包含脚本文件的完整路径信息。

$1 是传递给该shell脚本的第一个参数

$1到$9变量用于表示传递给脚本的前9个参数。这些变量可以用来获取脚本传递的具体参数值。需要注意的是,如果传递的参数超过9个,这些变量将无法全部表示,仅能获取前9个。

$2 是传递给该shell脚本的第二个参数

$2到$9变量和$1类似,分别表示传递给脚本的第2到第9个参数。这些变量可以用来获取脚本传递的具体参数值,适用于参数个数较少的情况。

$@ 是传给脚本的所有参数的列表

$@变量表示传递给脚本的所有参数列表。它可以用来获取脚本接收到的所有参数信息,非常有助于处理参数个数不定的情况。

$* 是以一个单字符串显示所有向脚本传递的参数

$*变量表示所有传递给脚本的参数以单个字符串的形式显示。与$@不同的是,$*会将所有参数连接成一个字符串,非常适合处理需要将参数进行拼接的情况。

$$ 是脚本运行的当前进程ID号

$$变量表示当前脚本运行的进程ID(PID)。它可以用来获取脚本执行时的进程信息,通常用于调试和监控脚本的运行状态。

$? 是显示最后命令的退出状态

$?变量表示脚本执行的最后命令的退出状态。退出状态为0表示命令成功执行,非0表示命令失败。这个变量可以用来判断脚本是否成功运行。

示例:

例如,一个简单的脚本可能是这样的:

```bash #!/bin/bash echo "参数个数:$#,脚本名:$0" echo "第一个参数:$1,第二个参数:$2" echo "所有参数:$@" echo "所有参数连接:$*" echo "当前进程ID:$$" echo "退出状态:$?" ```

运行这个脚本时,可以传递以下参数:

chmod +x script.sh  ./script.sh 1 2 3

运行结果会显示:

参数个数:3,脚本名:script.sh  第一个参数:1,第二个参数:2  所有参数:1 2 3  所有参数连接:1 2 3  当前进程ID:1234  退出状态:0

转载地址:http://wgzfk.baihongyu.com/

你可能感兴趣的文章
Linux内核TCP参数优化
查看>>
Linux内核中的hash和bucket
查看>>
Linux内核串口配置
查看>>
Linux内核之进程管理
查看>>
Linux内核信息相关命令:dmesg
查看>>
Linux内核分析第五章读书笔记
查看>>
Linux内核创建一个新进程的过程
查看>>
Linux内核参数调优
查看>>
Linux内核学习之道
查看>>
Linux内核架构详解
查看>>
Linux分区方案
查看>>
linux创建普通用户附详解
查看>>
Linux初级阶段学习笔记-本地源YUM配置
查看>>
linux删除乱码文件[转载]
查看>>
linux删除卸载npm,卸载安装node npm (Mac linux )
查看>>
linux删除路由
查看>>
linux加载动态库.so的3种方法
查看>>
linux卸载node
查看>>
linux卸载python模块_以Linux为平台在Python中删除文件和目录(文件夹)的方法
查看>>
Linux卸载和安装mysql:yum方式安装
查看>>