我正在使用' at'命令,以创建3个目录,只是一个哑巴bash脚本:
#!/bin/bash
for i in {1..3}
do
mkdir dir$i
done
如果我直接在终端上执行该脚本,但是当我在'使用'时,一切都很好。命令如下:
at -f g.sh 18:06
它只创建一个名为dir{1..3}
的目录,将间隔不作为间隔,而是作为具有一个元素{1..3}
的列表。根据这一点,我认为我的错误是使用bash脚本,因为at
使用/ bin / sh执行命令,但我不确定。
请告诉我,如果我是对的,我会很感激我的代码的一些替代品,因为即使它没用,我也很想知道at和bash的错误。
答案 0 :(得分:2)
#!
行仅影响将脚本作为程序运行时发生的情况(例如,将其用作shell中的命令)。当您使用at
时,它不会作为程序运行,它只是用作/bin/sh
的标准输入,因此shebang无效。
你可以这样做:
echo './g.sh' | at 18:06