shell编程-参数传递
程序员文章站
2022-06-04 08:51:34
...
一、传参介绍
(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:获取用户的所有参数
下一篇: centos qemu安装的历史记录