linux输入参数的获取及处理
Posted 小公子”
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux输入参数的获取及处理相关的知识,希望对你有一定的参考价值。
关于参数
$0 #程序名
$1 #第一个参数
$9 #第九个参数
$10 #第十个参数
$@ #显示全部参数
$* #显示全部参数
$?
$# #显示参数个数
$!# #显示最后一个参数
关于选项
命令行输入的不仅可以有参数,还可以有选项
选项
$ ./test -a -b -c #其中a、b、c为选项
分离 - 参数 - 和 - 选项 -
$ ./test -c -a -b -- num1 num2 num3
# 其中 a b c 是选项;
# 其中 num1 num2 num3 是参数;
getopt 命令
# 格式:getopt options opstring params
getopt ab:cd -a -b test1 -cd test2 test3
-a -b test1 -c -d -- test2 test3
#解释:
#optstring 定义了4个有效选项字母,a b c d
#其中 b 需要一个参数
获得用户输入
1.获得键盘输入
read
$ cat test1
#!/bin/bash
echo -n "enter your name:" #-n 移除掉字符串末尾的换行符,允许脚本用户紧跟其后输入数据,而不是下一行。
read name
echo "hello $name ,welcome!"
$ ./test1
enter your name:chen
hello chen,welcome!
read -p
的使用:
允许直接在read
命令行指定提示符
$ cat test1
#!/bin/bash
read -p "please enter your age:" age
echo "you are $age*365 days old ,welcome!"
2.关于read
超时问题
使用-t
选项,可以指定计时器
-t
:指定了read
命令等待输入的秒数,计时器过期后,read
命令会返回一个非零退出状态码。(非o退出状态码,表示最近执行的一条指令失败哦!)
if read -t 5 -p "please enter your name:" name
then
echo "hello $name,welcome to my channel!"
else
echo "sorry , too slow !!!"
3.隐藏方式读取
比如输入密码的时候,不想让密码显示在屏幕上
-s
选项可以满足需求。
$ cat test1
#!/bin/bash
# hiding data from the monitor
read -s -p "enter your password:" password
echo "is your really $password ?"
$
$ ./test1
enter your password:
is your really hello ?
以上是关于linux输入参数的获取及处理的主要内容,如果未能解决你的问题,请参考以下文章