我使用'at'命令来创建3个目录,只是一个愚蠢的bash脚本:
#!/bin/bash
for i in {1..3}
do
mkdir dir$i
done
如果我直接在终端上执行该脚本,一切都可以,但当我使用"at"命令时,如下所示:
at -f g.sh 18:06
它只创建一个名为dir{1..3}
的目录,不将interval作为interval,而是将其作为一个包含一个元素{1..3}
的列表。根据这一点,我认为我的错误是使用bash脚本,因为at
使用/bin/sh执行命令,但我不确定。如果我是对的,请告诉我,我会很感激我的代码的一些替代方案,因为即使它是无用的,我也很想知道at和bash出了什么问题。
#!
行仅影响将脚本作为程序运行时发生的情况(例如,将其用作shell中的命令)。当您使用at
时,它不是作为程序运行的,它只是用作/bin/sh
的标准输入,所以shebang没有任何作用。
你可以做:
echo './g.sh' | at 18:06