你好,这里有新手:D
我正在处理一个项目,该项目涉及一个处理* .dat文件的脚本。该脚本在用户输入的特定命令下运行
我的问题是我无法弄清楚如何从命令“抓取”参数“将它们”导入脚本
以下是特定命令的一些示例:
./tool.sh -f <file>
./tool.sh -f <file> -id <id>
./tool.sh --born-since <dateA> --born-until <dateB> -f <file>
其中tool.sh是脚本名称,<file>
是*.dat
文件,<date>
只是这种格式的日期YYYY-MM-DD
因此您可以看到短字和长字都有。我知道getopts命令很难处理很长的命令。如何使用“单一”代码处理所有这些代码?
编辑:我需要使用“if”
的案例的参数和条件表达式我也可以这样做:
#!/bin/bash
getopts f a
if [ $1 == "something" && $2 == "something2" && $a == "f" ]; then
....
elif [ $1 == "something3" && $2 == "something4" && $a == "f" ]
....
else
....
fi
这是正确的吗?
答案 0 :(得分:0)
在bash脚本中,您可以通过以下顺序访问命令行参数:
echo $1 # the first argument
echo $2 # the second argument