繁体   English   中英

如何将命令行参数放入Shell脚本

[英]How to put command line parameter to shell script

我有一个可执行的Shell脚本名称project2。 以下是我的老师在该项目上给我的指示之一。

该脚本必须至少接受一个命令行参数:要放置其输出的目录。 如果在命令行上未提供该目录,则脚本应使用合理的默认目录。

您能告诉我如何使我的脚本接受命令行吗? 我以前没有做过这样的事情。 任何帮助将不胜感激。 非常感谢。

对于bash ,命令行参数存储在$1$2等中,而$#会给您计数。 此外, shift可以通过使用一个位置转移他们所有的“左”落计数。

以下脚本是了解参数如何工作的一个很好的起点:

echo $#
while [[ $# -gt 0 ]] ; do
    echo "$1"
    shift
done

使用以下命令运行它时:

./myprog.sh hello there my name is "pax     diablo"

输出为:

6
hello
there
my
name
is
pax     diablo

作业的基本思路是:

  • 检查参数计数是否为零。
  • 如果为零,则将变量设置为一些有用的默认值。
  • 如果它不为零,则根据第一个参数设置该变量。
  • 做任何与该变量有关的事情。

看看Advanced Bash脚本指南的 这一部分

我建议您阅读整个指南。

暂无
暂无

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

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