linux命令传参数
linux命令传参数详细介绍
在 Linux 中,命令行参数是传递给命令或脚本的输入信息,用于控制命令的行为或提供操作对象。以下是常见的参数传递方式和相关概念:
一、参数类型
1.
位置参数(Positional Arguments)
命令后按顺序排列的参数,通过位置确定其含义。
- 格式:
命令 [参数1] [参数2] ... - 示例:bash
example.txt /home/user/
./script.sh hello world
2.
选项参数(Options/Flags)
用于修改命令行为的标志,通常以 - 或 -- 开头。
- 短选项(Single-character):以单个字母表示,多个短选项可合并,如
-l -a等价于-la。bashfile.txt
- 长选项(Full-word):以
--开头,更易读,部分选项可带值。bash/a/b/cpython
二、特殊参数(在脚本中使用)
在 Shell 脚本中,可通过以下特殊变量获取参数:
| 变量 | 含义 |
|---|---|
$0 |
命令或脚本本身的名称 |
$1 ~ $9 |
第 1 到第 9 个位置参数(超过 9 个需用 {} 包裹,如 ${10}) |
$# |
参数总个数 |
$* |
所有参数视为单个字符串(如 "$1 $2 $3") |
$@ |
每个参数作为独立字符串(如 "$1" "$2" "$3") |
$? |
上一条命令的退出状态码(0 表示成功,非 0 表示错误) |
示例脚本(args_demo.sh):
bash
"
"
"
):"
):"
运行结果:
bash
./args_demo.sh hello world
三、传递特殊字符或空格
若参数包含空格、特殊符号(如 $、#、!),需用引号包裹:
bash
"
四、参数传递进阶
1.
参数默认值
在脚本中可通过 := 为参数设置默认值(若未传递则使用默认值):
bash
"Guest"}
!"
运行:
bash
./script.sh./script.sh Alice
2.
强制参数检查
若参数为必填,可通过 :- 报错:
bash
"
"
91234#!/bin/bash[ ] && { ; ; }
总结
Linux 命令行参数通过位置或选项控制行为,脚本中通过特殊变量灵活处理参数。合理使用引号和特殊变量,可确保参数正确传递和解析。