【发布时间】:2018-10-29 16:13:47
【问题描述】:
当我使用这行代码时,我得到一个错误非法变量名:
set users = "` last | sort | tr -s '\t' ' ' | grep '[0,2][0-4]:[0-5][0-9] -' | grep -v '^$' | grep -v '[2][0-1]:[0-5][0-9] -' `"
但是当我使用这段代码时它工作正常:
set users = "` last | sort | tr -s '\t' ' ' | grep '[0,2][0-4]:[0-5][0-9] -' | grep -v '[2][0-1]:[0-5][0-9] -' `"
代码应将在 22:00 到 05:00(不包括 05:00)之间登录的人存储到名为 users 的变量中。它还应该删除输出中的任何空行。这是我在第一个代码中尝试做的,但它给了我上述错误。
【问题讨论】:
-
我不确定您的核心问题,但如果您使用
grep -v '^$'来表示“跳过空白行”,那么使用grep .可能更容易、更清晰。 -
另外,请编辑您的问题以提供您收到的确切错误消息。
-
确切的错误消息是“非法变量名”。以及“grep”会是什么。做什么?
-
请粘贴出现的整行文本。
-
gyazo.com/387babdfc5917d21b1b4b6ba4159c73f 第一行是我执行带有参数的文件