bash 参数传递
在 Bash 中,可以向脚本或函数传递参数。 可以通过位置参数(1、2、3...9、{10}、{11}、{12}...),命名参数(使用getopts命令),或者就是直接传递参数来实现。
1. 位置参数
位置参数是指向脚本或函数传递参数的数字值,这些数字值是从 1 开始计数。 在脚本或函数中,可以通过 1、2、3...9、{10}、{11}、{12}... 来访问它们。例如:
bash
#!/bin/bash
echo "First Parameter: 1"
echo "Second Parameter: 2"
echo "Third Parameter: 3"
在命令行中运行脚本时,可以传递参数:
input命令bash
./script.sh first second third
这将输出:
First Parameter: first
Second Parameter: second
Third Parameter: third
2. 命名参数
命名参数允许您向脚本或函数传递带有名称的参数。 在 Bash 中,可以使用getopts命令来解析命名参数。getopts命令接受两个参数:命令选项字符串和待解析的参数列表。例如:
bash
#!/bin/bash
while getopts ":a:b:" opt; do
  case opt in
    a) arg1="OPTARG";;
    b) arg2="OPTARG";;
    \?) echo "Invalid option -OPTARG" >&2
        exit 1;;
    :) echo "Option -OPTARG requires an argument." >&2
        exit 1;;
  esac
done
echo "arg1=arg1, arg2=arg2"
在命令行中运行脚本时,可以传递命名参数:
bash
./script.sh -a somevalue -b anothervalue
这将输出:
arg1=somevalue, arg2=anothervalue
3. 直接传递参数
除了位置参数和命名参数,还可以通过其他方式传递参数,例如通过管道、特殊文件或从其他命令的输出中提取。例如:
bash
#!/bin/bash
echo "Input: (cat)"
在命令行中运行脚本时,可以通过管道传递输入:
bash
echo "some input"  ./script.sh
这将输出:
Input: some input

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。