Linux Shell函数

介绍

 

 

正文

$?

$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.切记:$?永远表示shell命令最后一次执行后的退出状态,当函数执行完毕后,如果又执行了其它命令,则$?不再表示函数执行后的状态,而表示其它命令的退出状态

 

复制代码
$$ 
Shell本身的PID(ProcessID) 
$! 
Shell最后运行的后台Process的PID 
$? 
最后运行的命令的结束代码(返回值) 
$- 
使用Set命令设定的Flag一览 
$* 
所有参数列表。如"$*":"$1 $2 … $n"的形式输出所有参数。 
$@ 
所有参数列表。如"$@"以多行的形式"$1" "$2""$n" 输出所有参数。 
$# 
添加到Shell的参数个数 
$0 
Shell本身的文件名 
$1~$n 
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。 
复制代码

例:

vim a.sh

复制代码
 #!/bin/bash
  printf "The complete list is %s\n" "$$"
  printf "The complete list is %s\n" "$!"
  printf "The complete list is %s\n" "$?"
  printf "The complete list is %s\n" "$*"
  printf "The complete list is %s\n" "$@"
  printf "The complete list is %s\n" "$#"
  printf "The complete list is %s\n" "$0"
  printf "The complete list is %s\n" "$1"
  printf "The complete list is %s\n" "$2"
复制代码

 

 

总结

 

 

 

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

posted @   pursuer.chen  阅读(534)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示