首先,用户将调用文件名Time.sh并输入两个数据,即StartTime,EndTime。我有Time.sh文件中的代码来提取StartTime和EndTime之间的数据。我正在使用以下代码。
#!/bin/bash
read -p "Enter StartTime:" StartTime
read -p "Enter EndTime:" EndTime
awk -v StartTime="$StartTime" -v EndTime="$EndTime" -f Script.sh Test.log
所以在bash中我会像下面这样,
$ ./Time.sh
Enter Start Time :(User will enter StartTime. Example:01:04:22)
Enter End Time : (User will enter EndTime. Example:01:05:22)
我想简单地为用户提供,用户应该在一行中输入所有三个数据,例如,
Time.sh 01:04:22 01:05:55
如何修改以获得相同的结果?请帮助。
答案 0 :(得分:0)
编辑:添加了输入验证
您可以使用命令行参数,如下所示:
#!/bin/bash
StartTime=$1
EndTime=$2
if [[ "$StartTime" > "$EndTime" ]]; then
echo "StartTime cannot be greater than EndTime"
else
awk -v StartTime="$StartTime" -v EndTime="$EndTime" -f Script.sh Test.log
fi
然后按:./Time.sh 01:04:22 01:05:55