You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitBash脚本传含空格time参数时grep报错,直接命令正常求助

问题解决

报错原因

脚本里grep -i $time的$time未加引号,当传入带空格的参数'02:00:00 PM'时,Shell会把它拆成02:00:00和PM两个独立参数。grep会将第一个参数当作搜索关键词,第二个参数当作要读取的文件,因此抛出grep: pm: No such file or directory的错误。

修改后的脚本

给变量$time加上双引号,确保带空格的参数被当作一个整体传递:

date=$1
time=$2
cat "${date}_Dealer_schedule.txt" | awk -F' ' '{print}' | grep -i "$time"

可选优化(仍符合工具要求)

awk -F' ' '{print}'的作用和直接cat文件完全一致,可以简化脚本,同时给$date也加上引号避免潜在的特殊字符问题:

date=$1
time=$2
grep -i "$time" "${date}_Dealer_schedule.txt"

验证

执行修改后的脚本:

sh roulette_dealer_finder_by_time.sh 0310 '02:00:00 PM'

即可得到期望输出:02:00:00 PM Chyna Mercado Billy Jones Cleveland Hanna

内容的提问来源于stack exchange,提问作者TTG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 04:06:15