繁体   English   中英

如何使Shell脚本采用在命令行中传递的参数?

[英]How to make a shell script take an argument passed in the command line?

我有一个包含以下内容的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 ,但是当您尝试运行脚本时,只需使用./your_script.sh your_argument不要在开头添加%

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM