我刚刚安装了 TeX-Live 2012,但仍然
moose@pc07:~$ latex --version
pdfTeX 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian)
kpathsea version 5.0.0
Copyright 2009 Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX).
Compiled with libpng 1.2.42; using libpng 1.2.42
Compiled with zlib 1.2.3.3; using zlib 1.2.3.3
Compiled with poppler version 0.12.4
所以我想知道我是否可以找到我输入时执行的二进制文件的位置latex --version
。这可能吗?
答案1
您可以使用
which latex
找出二进制的位置。
答案2
该type
命令内置于 bash(which
是一个独立程序)。
type latex
如果您传递选项,该type
命令还可以区分 shell 别名、shell 函数和独立程序-a
:我有一个别名ls
$ type -a ls
ls is aliased to `ls -F'
ls is /bin/ls
答案3
对于简单的独立命令以上 答案完全正确。但是,如果你正在运行复杂的脚本,并且想知道幕后发生了什么,最好的方法始终是:
ps afxu
显示正在执行的整个命令树。
例如,在启用更新的情况下运行时ps afxu
会产生以下输出:grub2
os-prober
root 4304 0.0 0.0 27308 1700 ? Ss 16:33 0:00 SCREEN -S update-grub
root 4305 0.9 0.1 23540 4648 pts/2 Ss 16:33 0:00 \_ /bin/bash
root 4371 0.0 0.0 4392 744 pts/2 S+ 16:33 0:00 \_ /bin/sh /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
root 5127 0.0 0.0 4396 756 pts/2 S+ 16:33 0:00 \_ /bin/sh /etc/grub.d/30_os-prober
root 7029 0.0 0.0 4396 176 pts/2 S+ 16:33 0:00 \_ /bin/sh /etc/grub.d/30_os-prober
root 7030 0.0 0.0 4396 464 pts/2 S+ 16:33 0:00 \_ /bin/sh /etc/grub.d/30_os-prober
root 7038 0.0 0.1 23660 4676 pts/2 D+ 16:33 0:00 | \_ /usr/sbin/grub-probe --device /dev/sdb3 --target=fs_uuid
root 7031 0.0 0.0 11520 828 pts/2 S+ 16:33 0:00 \_ sed -e s/^/\t/
通过这种方式,您可以准确地知道可执行文件/脚本在执行的每个阶段所调用的内容。