在提示符中输入命令时at>
,我无法使用Tab键激活命令行自动完成功能。
$ at now + 4 hour
at>
有没有办法在提示中打开制表符补全功能at>
?
我正在使用 CentOS 7 和 Bashat
版本at-3.1.13-24.el7.x86_64
。
答案1
您可以使用交互式 shell 的此处文档功能来编写命令,并将结果at
通过 stdin 传递给(而不是at
打开并读取 stdin 本身):
$ cat <<EOF | at now + 4 hour
> echo 'doing stuff now' >/tmp/foo
> EOF
warning: commands will be executed using /bin/sh
job 22 at Wed Jun 10 16:11:00 2020
至少在我的系统(Ubuntu / bash 4.4.20(1))上,制表符补全在此处文档中工作 -/tmp/foo
例如用于补全文件名。
答案2
可能不会:
ldd /usr/bin/at
linux-vdso.so.1 (0x00007ffd24182000)
libc.so.6 => /lib64/libc.so.6 (0x00007f70946ed000)
libfl.so.2 => /usr/lib64/libfl.so.2 (0x00007f70946e8000)
/lib64/ld-linux-x86-64.so.2 (0x00007f70948f8000)
(我的)at
没有链接到readline
(或类似的东西)。