我是bash的新手并且已经完成了我的第一步 我想学习如何在脚本中存储参数localy以供以后使用并编写此脚本
#!/bin/bash
while getopts ":d" opt;do
case "${opt}" in
d)
d =$OPTARG
echo "-d was triggered ! storing ${d}" >&2
;;
esac
done
这是我的输出:
$ -d was triggered! storing
我的问题是什么? :我没有正确存储数据,或者我没有正确打印或两者都打印:)
答案 0 :(得分:2)
删除=$OPTARG
之前的空格。看看http://www.shellcheck.net/
答案 1 :(得分:2)
在:
命令中的选项名称之后保留getopts
:
#!/bin/bash
while getopts "d:" opt; do
case "${opt}" in
d)
d="$OPTARG"
echo "-d was triggered ! storing ${d}" >&2
;;
esac
done
您还需要删除=
周围的空格,最好在分配时使用引号。
现在当你跑:
./script.sh -d 1234
-d was triggered ! storing 1234