可以执行二进制,但不能使用" source"

时间:2013-10-31 18:12:06

标签: bash shell jobs watch

尝试让watch jobs工作。这很棘手,因为jobs报告当前shell拥有的作业,watch创建另一个shell。因此,我想运行. watch jobssource watch jobs,但我收到此错误:

-bash: source: /usr/bin/watch: cannot execute binary file

以下是file /usr/bin/watch的输出:

/usr/bin/watch: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, BuildID[sha1]=0xe207fd209faf781a58f5f30922c99da759bd3953, stripped

在这种情况下如何调试source

2 个答案:

答案 0 :(得分:7)

您只能使用source个脚本,而不能执行可执行文件。尝试:

while true; do clear; jobs; sleep 2; done

答案 1 :(得分:2)

您不能在shell中使用二进制文件,它仅适用于shell脚本。

source command仅用于在当前进程中执行shell脚本,而不需要新的子shell进程。