如何使shell脚本获取命令行中传递的参数?

时间:2016-02-15 20:15:47

标签: bash shell unix

我有一个shell脚本(count_reviews.sh),其中包含以下内容:

#!/bin/bash
grep -c "Author" "#1"

我尝试使用“$ 1”,因为我发现这会占用命令行中的第一个参数,但我仍然得到下面提到的错误。我还使用了chmod + x来使我的文件可执行。

脚本计算“作者”出现在文件中的次数。我需要能够使命令行输入"% ./count_reviews.sh hotel_72572.dat",其中hotel_72572.dat是一个示例文件名。作者出现的次数将在下面打印出来。但是当我这样做时,我收到错误-bash: fg: %: no such job。造成这种情况的原因是什么?如何解决?如果重要的话,我的count_reviews.sh文件与我的所有酒店数据文件位于同一目录中。

1 个答案:

答案 0 :(得分:1)

您确实应该使用$1,但是当您尝试运行脚本时,只需使用./your_script.sh your_argument,不要在开头添加%