shell的特殊变量及如何查看当前shell
2015-07-26 21:51
330 查看
一.特殊变量
变量说明:
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
env
查看系统的环境变量
我们先写一个简单的脚本,执行以后再解释各个变量的意义
# 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是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
二.查看登陆的shell
1、实时查看当前进程中使用的shell种类:推荐
ps | grep $$ | awk '{print $4}'
(注:$$表示shell的进程号)
2、最常用的查看shell的命令,但不能实时反映当前shell
$ echo $SHELL
3、更简洁,但并不是所有shell都支持
$ echo $0
4、环境变量中shell的匹配查找
env | grep SHELL
5、口令文件中shell的匹配查找
cat /etc/passwd | grep muye
6、用ps -ef时候
$ ps -ef | grep $$ | grep -v grep | grep -v ps
注:grep -v 表示取反,如下:
ps -ef | grep $$
muye 4750 4745 0 15:47 pts/1 00:00:00 bash
muye 5331 4750 0 16:51 pts/1 00:00:00 ps -ef
muye 5332 4750 0 16:51 pts/1 00:00:00 grep --color=auto 4750
去掉后两个
变量说明:
$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…。
env
查看系统的环境变量
我们先写一个简单的脚本,执行以后再解释各个变量的意义
# 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是传递给该shell脚本的第一个参数
$2是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
二.查看登陆的shell
1、实时查看当前进程中使用的shell种类:推荐
ps | grep $$ | awk '{print $4}'
(注:$$表示shell的进程号)
2、最常用的查看shell的命令,但不能实时反映当前shell
$ echo $SHELL
3、更简洁,但并不是所有shell都支持
$ echo $0
4、环境变量中shell的匹配查找
env | grep SHELL
5、口令文件中shell的匹配查找
cat /etc/passwd | grep muye
6、用ps -ef时候
$ ps -ef | grep $$ | grep -v grep | grep -v ps
注:grep -v 表示取反,如下:
ps -ef | grep $$
muye 4750 4745 0 15:47 pts/1 00:00:00 bash
muye 5331 4750 0 16:51 pts/1 00:00:00 ps -ef
muye 5332 4750 0 16:51 pts/1 00:00:00 grep --color=auto 4750
去掉后两个
相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- shell字符串操作详解
- Shell中删除某些文件外所有文件的3个方法
- Ruby中执行Linux shell命令的六种方法详解
- VB使用shell函数打开外部exe程序的实现方法
- Shell编程的一些知识集合
- Shell中的for和while循环详细总结
- 什么是Shell?Shell脚本基础知识详细介绍
- Shell脚本中引用、调用另一个脚本文件的2种方法
- Shell脚本解压rpm软件包
- Shell脚本实现复制文件到多台服务器的代码分享
- Shell脚本实现批量替换文件内容
- Shell脚本实现的一个简易Web服务器例子分享
- linux Shell学习笔记第五天
- Perl 获取shell命令的执行结果
- Shell脚本中非交互式修改密码的两种方法