甩祸 发表于 2018-8-26 10:10:16

【shell】Linux shell 位置变量详解

Linux shell 位置变量详解

什么是位置变量?

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

  例子:
  

# ./ping.sh www.baidu.com  
Host www.baidu.com is up.
  
# ./ping.sh klsdjfkldjfkldf.kljjfdkljfdljds.com
  
Host klsdjfkldjfkldf.kljjfdkljfdljds.com is down.
  

  在调用脚本的时候赋值。
  查看脚本:
  

# 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 $# $@
  

  
**执行脚本**
  
# ./var.sh 1 2 3 4 5
  $0      $1$2$# $@
  
./var.sh 1 2 5 1 2 3 4 5
  

  

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


页: [1]
查看完整版本: 【shell】Linux shell 位置变量详解