我写shell将输入日期和时间。
if date `+%d-%b-%y` -d $1 >> /dev/null 2>&1; then
echo "Date Provided by user : $1"
else
echo "Wrong date format please refer ReadMe for correct format"
echo "You have eneterd : $1"
exit 1
fi
if date `+%H:%M` -d $2 >> /dev/null 2>&1; then
echo "Time Provided by user : $2"
else
echo "Wrong Time format please refer ReadMe for correct format"
echo "You have eneterd : $2"
exit 1
fi
正如预期的那样正常工作,但问题是它在nohup.out
下面打印./ntwk_resource_rollback.sh[31]: +%d-%b-%y: not found [No such file or directory]
Date Provided by user : 07-feb-17
./ntwk_resource_rollback.sh[39]: +%H:%M: not found [No such file or directory]
Time Provided by user : 03:36
所以我想删除nohup.out中找不到目录的错误,因为客户端可以读取nohup.out以进行调试。
我可以将KSH或BASH用于此脚本。
请告知我在这里做错了什么!
答案 0 :(得分:1)
当您使用反引号时,例如在+%d-%b-%y
中,shell正在尝试执行名为+%d-%b-%y
的程序,然后将其作为参数传递给date
。当然它失败了,因为没有这样的程序。