我有一个可执行shell脚本名称project2。以下是我老师给我的项目指导之一。
此脚本必须至少接受一个 命令行参数:目录 它的输出放在哪里。如果 该目录未在上面给出 命令行,脚本应该使用一个 合理的默认目录。
请告诉我如何让脚本接受命令行。我之前没有做过这样的事。任何帮助将不胜感激。非常感谢。
答案 0 :(得分:5)
对于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
你的任务的基本理念是:
答案 1 :(得分:1)
查看this section的Advanced Bash Scripting guide。
我建议你阅读整本指南。