【发布时间】:2015-07-09 09:30:45
【问题描述】:
任务 1:
如果时间是上午,则打印“现在是早上”。如果是下午,打印“现在不是早上”。
任务 2:
给定 2 个传递给脚本的参数。
验证是否已提交 2 个参数。如果未提供三个参数,则打印“必须提供 2 个参数”并退出脚本
- 参数 1:应该是一个目录(需要验证)。如果不存在,打印“目录:目录,不存在”并退出脚本
- 参数 2:应该是一个文件(需要验证)。如果不存在,打印“文件:文件名,不存在”并退出脚本。
如果所有参数都有效,则打印“Given valid: filename and directory”
这是我目前所拥有的
echo "James DuBois: 555555 - Task 1"
TIME=$(date "+%H")
if [ $TIME -lt 12 ]; then
echo "morning"
else
echo "not morning"
fi
echo "Task 2"
[ -d "$1" ] || exit
[ -d "$2" ] || exit
[ $# == 2 ] || exit
echo "arg1: $1"
echo "arg2: $2"
【问题讨论】:
-
你的问题是什么?
-
我正试图围绕任务 2 进行思考。我不知道参数如何与 linux 一起工作。目前只是在谷歌上搜索一些代码。
-
为什么
hours >= 12会是早上?也许-lt 12会更有意义?对于任务 2,相同类型的测试,但您需要条件表达式来测试文件,可能是-f?为我这样做完全正确man bash,然后/CONDITIONAL\ EXPRESSIONS让我知道如果这不能解决你的问题。 -
我认为我走在正确的轨道上?老实说,我不太清楚发生了什么。
-
StackOverflow 是一个很好的资源,当您隔离了一个问题并需要为其找到答案时。听起来您在这里没有孤立一个问题。程序规范与您在实施该规范时遇到的特定问题之间存在很大差距。两个独立的程序规范更不是一个孤立的问题。