shell编程-参数传递

一、传参介绍

(1)C语言中可以通过main函数的argc和argv给程序传参

(2)shell程序本身也可以在调用时传参给他。在shell程序内部使用传参也是使用的一些特定符号来表示的,包括:

$#表示调用该shell时传参的个数。($#计数时只考虑真正的参数个数)

$0、$1、$2·····则依次表示传参的各个参数。如果参数超过9个,那么就只能通过${}来获取了, 例如获取第10个参数,那么可以写为${10}。

二、编程实例

实例1:

#!/bin/bash
#testinput.sh
echo "file name: $0"
echo "base file name: $(basename $0)"
echo "param1: $1"
echo "param2: ${2}"

运行上面的的shell

./testinput.sh 12 34

输出结果;

file name: ./testinput.sh

base file name: testinput.sh

param1: 12

param2: 34

成功的得到文件名和命令行输入的参数(命令行参数以空格分隔,如果参数包含了空格,那么久必须添加引号了)

$0默认会获取到当前shell文件的名称,但是,它也包含(./),如果你以完整路径运行,那么这还会包含目录名。因此,上面通过basename命令来获取单纯的文件名$(basename $0)。

实例2:获取用户的所有参数

见以下博客:https://www.cnblogs.com/dongying/p/6398570.html

猜你喜欢

转载自blog.csdn.net/wwwlyj123321/article/details/81672576