百度
360搜索
搜狗搜索

linux命令如何读取参数详细介绍

在 Linux Shell 脚本中,读取命令行参数主要通过位置参数特殊变量实现,复杂场景下还可通过 getopts 等工具解析带选项的参数(如 -h-v 等)。以下是具体方法:

一、基础位置参数

脚本运行时,通过 $n 形式获取参数(n 为参数序号):

  • $1:第一个参数
  • $2:第二个参数
  • ...
  • $0:脚本自身名称(或调用的命令名)

示例
创建脚本 demo.sh 并添加以下内容:
bash

"

"

"

"

"

运行 ./demo.sh hello world,输出:
plaintext

脚本名: ./demo.sh

第一个参数: hello

第二个参数: world

所有参数(用空格分隔): hello world

参数总个数: 2

二、特殊变量(常用)

  • $@:所有参数的列表(可视为数组,每个参数独立)
  • $*:所有参数的字符串(参数间用默认分隔符 IFS 连接,通常是空格)
  • $#:参数总个数
  • $?:上一条命令的退出状态(0 表示成功,非 0 表示失败)

三、解析带选项的参数(如
-h
-v

若需要处理类似 ./demo.sh -v --name "张三" 的复杂参数,可通过 getopts 命令(内置在 bash 中)解析短选项(如 -v),或 getopt 命令(外部工具)解析长选项(如 --name)。

1.
getopts(短选项)

getopts 语法:getopts "选项列表" 变量名
示例(解析 -h-v-n 选项):
bash

opt

h

n

? "

"

运行 ./demo.sh -v -n "张三",输出:
plaintext

版本:1.0

输入的名称: 张三

2.
getopt(长选项,需外部工具支持)

getopt 支持长选项(如 --help--version),但语法较复杂,适用于需要更清晰参数的场景(需确保系统安装了 getopt)。

总结

  • 简单参数直接用 $1$2 等位置参数读取;
  • 复杂选项(如 -h--name)用 getoptsgetopt 解析;
  • 特殊变量($@$# 等)用于参数统计或批量处理。

阅读更多 >>>  linux创建sh命令

网站数据信息

"linux命令如何读取参数"浏览人数已经达到19次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:linux命令如何读取参数的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!