最近在学Linux脚本程序,这里来说说Shell脚本中$0、$?、$!等的意义

变量说明

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

脚本举例

我们先写一个简单的脚本,执行以后再解释各个变量的意义

# touch variable
# vi variable
脚本内容如下:
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
保存退出
赋予脚本执行权限
# chmod +x variable
执行脚本
# ./variable aa bb
number:2
scname:./variable
first: aa
second:bb
argume:aa bb

结果分析

通过显示结果可以看到:
$# 是传给脚本的参数个数
$0 是脚本本身的名字

最新文章

  1. 英国JIC院士组3.8万英镑招博后-植物代谢物与微生物组-截止6月27日
  2. python下载安装教程3.8.0-Python3.8.0
  3. ASP.NET中MVC默认模板的项目结构
  4. 大众点评app 数据解密和反序列化
  5. Android获取设备已安装的应用
  6. 开源程序识别图像像素点_开源浏览器扩展程序,可放大图像
  7. SCP使用技巧-递归排除文件
  8. 2021年淮南高考成绩查询,2021年淮南高考最高分多少分,历年淮南高考状元
  9. 读书笔记-《 我的成功可以复制》四
  10. 在Vmware安装wes 7
  11. 婚礼邀请函微信小程序
  12. Python实现Mean Shift聚类算法
  13. Shopee平台如何实现多店铺管理?虾扑erp实现智能管理!
  14. 乐鑫Esp32学习之旅 12 开源一个微信公众号airkiss配网esp32以及局域网发现功能的工程,分享一个airkiss配网小工具。(附带Demo)
  15. linux自动断开会话,Linux系统SSH连接自动断开问题的解决方法
  16. vue + iview + less 定制主题色
  17. Kewail-短信接口接入流程
  18. 【Argoverse 1 Motion Forecasting Dataset】轨迹预测数据集简介
  19. 罗技无线鼠标响应缓慢
  20. 解决 i5 6500 安装黑苹果 Sierra 显卡不正常问题

热门文章

  1. Facts have proved that this is more popular than his article
  2. 题解 牛客【「水」悠悠碧波】
  3. 私钥、公钥、数字签名、数字证书、HTTPS
  4. URI、URL与URN【定义+联系】
  5. azure云数据库_Azure中的新弹性数据库
  6. 股债轮动策略之行业版
  7. python中filter(),reduce()函数
  8. 虚拟机安装---vm12+ubuntukylin16.04
  9. 【bzoj1604】[Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 旋转坐标系+并查集+Treap/STL-set...
  10. python invalid start byte_Python 3.6中 'utf-8' codec can't decode byte invalid start byte?汗血宝马...