shell脚本获取参数(shell脚本怎么用getopts获取一个参数)

本文目录
- shell脚本怎么用getopts获取一个参数
- 如何从一个文件读取shell脚本执行参数
- Linux shell 脚本 间接获取输入参数的方法
- linux shell脚本读取用户输入的参数
- 如何取得传入shell脚本的第i个值要求i循环到几就取第几个参数
- 如何获取传入给shell脚本的最后一个参数
shell脚本怎么用getopts获取一个参数
while getopts “r:p:h“ para; do
case $para in
r) param_r=$OPTARG;;
p) param_p=$OPTARG;;
h) help ; exit 0;;
*) help ; exit 1;;
esac
done
如何从一个文件读取shell脚本执行参数
使用source命令可以把一个文件的内容读取到当前脚本来
例如:
a.conf 里面有一个变量 aa=“1234“
在脚本里面使用source
#!/bin/bashsource ./a.conf (source的时候最好用绝对路径,我这儿用的相对路径)
echo $aa
Linux shell 脚本 间接获取输入参数的方法
如果是bash,可以用indirect expansion来搞,语法为 ${!var}。
比如
foo=bar
bar=123
echo ${!foo}
会打印 123
再比如下面的脚本,依次打印脚本的各个输入参数。
#!/bin/bash
var=1
while [ $var -le $# ]
do
echo “Param $var is ${!var}“
let var++
done
不用indirect expansion,也可以用 eval, 比如
#!/bin/bash
var=1
while [ $var -le $# ]
do
eval echo “Param $var is \$$var“
let var++
done
linux shell脚本读取用户输入的参数
#!/bin/bash
while true
do
echo -n “please enter the number:“
read line
sleep 1
echo “$line“
done
如何取得传入shell脚本的第i个值要求i循环到几就取第几个参数
按照题主的意思,可以使用shift命令。
什么是shift?举例:假如你有三个参数 $1,$2,$3。在脚本中使用一次shift,将使$2的值成为$1的新值,$3的值成为$2的新值;使用shift 2,将使$3的值成为$1的新值。所以(伪代码):
i=1para=$1 //获得第1个参数值
...
i=i+1
shift
para=$1 //获得第$i个参数值
...
如何获取传入给shell脚本的最后一个参数
执行“nano test.sh”创建一个新的shell脚本。
脚本test.sh的内容如下:
#!/bin/sh
name=$1
echo “the ${name} are great man!“
给新创建的test.sh的脚本赋可执行权限,命令为“chmod 755 test.sh”。
执行’./test.sh “xiao wang“’命令,可以看到自己编写脚本的结果“the xiao wang are great man!”。
5
“name=$1“中$1为系统提供的位置参数,$0代表程序的名称,[$1/$2/...]从1开始为传递的参数。
6
linux系统除了提供位置参数还提供内置参数,内置参数如下:
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以“参数1“ “参数2“ ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID

更多文章:
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00




