在bash中传递args,例如unix date命令

时间:2016-04-27 03:48:49

标签: bash unix

很抱歉,由于我不熟悉shell脚本,因此措辞不佳。

我正在尝试编写脚本,我想接受诸如unix date命令之类的args。

示例:

$ date '+%I:%M %p'
08:45 PM

那我怎么在我的剧本中做这样的事呢?

编辑:我在我的脚本中尝试做的是以与date命令相同的方式传递参数。

因此,如果我的脚本要将所有%的参数更改为foo,它将执行以下操作:

$ ./myscript '%a bar'
foo bar

1 个答案:

答案 0 :(得分:1)

感谢@tripleee我能够提出一个解决方案,允许您在字符串arg中替换多个关键字。

以下是代码:

res="${1}"
res="${res//"%a"/water}"
res="${res//"%b"/chocolate}"
echo "$res"

输入:

./myscript "like %a for %b"

输出:

like water for chocolate

这个方法会遍历arg中要替换的每个关键字,即使它不在那里,所以它不是很有效但是它可以完成工作。