Linux各种变量的含义

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

$0 是脚本本身的名字

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

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

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

$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个

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

$? 是显示最后命令的退出状态,0表示执行成功,其他表示执行失败

我们可以写一个脚本演示下:

vi variable_test.sh

# 内容如下
#!/bin/sh
echo "args number:$#"
echo "file name:$0"
echo "first arg :$1"
echo "second arg:$2"
echo "args:$@"
echo "args list:$*"
echo "process id:$$"
echo "process exit stat: $?"

然后保存退出,给脚本赋执行权限,执行

chmod +x variable_test.sh

./variable_test.sh arg1 arg2

执行结果:

args number:2
file name:./variable_test.sh
first arg :arg1
second arg:arg2
args:arg1 arg2
args list:arg1 arg2
process id:4051
process exit stat: 0
欢迎订阅「K叔区块链」 - 专注于区块链技术学习

博客地址:http://www.jouypub.com

简书主页:https://www.jianshu.com/u/756c9c8ae984

segmentfault主页:https://segmentfault.com/blog/jouypub

腾讯云主页:https://cloud.tencent.com/developer/column/72548

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏刺客博客

Darkhttpd-超小型静态http服务器

22230
来自专栏Java成神之路

Mysql总结_02_mysql数据库忘记密码时如何修改

1.从cmd进入mysql的bin下,输入命令 mysqld --skip-grant-tables  回车

13450
来自专栏jouypub

使用wagon-maven-plugin部署Java项目到远程服务器

在项目开发过程中,经常需要部署代码到开发环境,每天可能有好多次,每次都需要mvn clean install,然后上传到服务器。实际上这些繁琐的步骤可以通过一个...

42840
来自专栏jouypub

Linux之ACL权限控制

ACL权限控制主要目的是提供传统的owner,group,other的read,wirte,execute权限之外的具体权限设置,可以针对单一用户或组来设置特定...

16430
来自专栏企鹅号快讯

python智能合约编程-如何编译pyeos

pyeos的编译和eos类似,只是为了支持python,需要安装一些额外的库和工具,下面来介绍下具体过程。 1. 下载pyeos代码 2. checkout p...

34880
来自专栏北京马哥教育

Nginx的安装和多域名配置

作者:白夜船长 来源:http://blog.csdn.net/zzq900503/article/details/70049348 Nginx安装 cento...

58550
来自专栏刺客博客

Linux下使用mkfs快速对磁盘进行分区

15240
来自专栏电光石火

python3和python2共存

特别说明,本文是在Windows64位系统下进行的,32位系统请下载相应版本的安装包,安装方法类似。

27160
来自专栏小樱的经验随笔

一个很easy的脚本--php获取服务器端的相关信息

存档: 1 <html> 2 <head> 3 <meta http-equiv="content-type" content="...

40480
来自专栏程序员互动联盟

Ubuntu14.04 Chromium 编译

1、下载depot_tools: 首先安装 git-core: sudo apt-get install git-core 执行命令: git ...

41870

扫码关注云+社区

领取腾讯云代金券