linux脚本位置变量,【shell】Linux shell 位置变量详解

Linux shell 位置变量详解

什么是位置变量?

简单来说,在用户运行脚本的同时输入参数,这些参数所对应的变量称为位置变量。

例子:

[root@XiaoPeng scripts]# ./ping.sh www.baidu.com

Host www.baidu.com is up.

[root@XiaoPeng scripts]# ./ping.sh klsdjfkldjfkldf.kljjfdkljfdljds.com

Host klsdjfkldjfkldf.kljjfdkljfdljds.com is down.

在调用脚本的时候赋值。

查看脚本:

[root@XiaoPeng scripts]# cat ping.sh

#!/bin/bash

#arppinging or XiaoPeng

ping -c 2 -w 2 $1 >/dev/null 2>&1

[ $? -eq 0 ] && echo "Host $1 is up." || echo "Host $1 is down."

位置参数

$1:第一个参数,比如 ./ping.sh 1.1.1.1 2.2.2.2,那么$1就是1.1.1.1

$2:第二个参数,比如./ping.sh 1.1.1.1 2.2.2.2 ,那么$2就是2.2.2.2

......

$0:脚本名字

$#:一共有几个参数

$@:显示全部参数

例子:

查看脚本

#!/bin/bash -

#arppinging or XiaoPeng

echo ' $0 $1 $2 $# $@'

echo $0 $1 $2 $# $@

**执行脚本**

[root@XiaoPeng scripts]# ./var.sh 1 2 3 4 5

$0 $1$2$# $@

./var.sh 1 2 5 1 2 3 4 5

总结:记住几个常用的参数$0\$1\$#\$@即可。