Ksh脚本自动调用/ usr/bin中的另一个脚本
问题描述:
我正在执行名为abs.ksh的位于/ app/fao的ksh脚本,它连接到服务器, 但服务器正在接收名为“ ksh“,它存在于/ usr/bin中... 我没有在abs.ksh中调用任何叫做ksh的脚本(抱歉无法粘贴代码)。Ksh脚本自动调用/ usr/bin中的另一个脚本
只有当脚本在调试模式下运行时,也会发生这种情况。 在非调试模式下,它工作正常。
任何人都可以给我一些可能发生在这里的暗示。
答
在标准的“经典”Unix环境中,可能会有多个shell。例如。 'sh'原始的Bourne shell,'ksh' - Korn shell,csh - C shell,bash,tcsh等等。用户登录将在每次登录时设置默认shell集。
#!在可执行脚本的开始处是一条解释&的指令,后面的文本以'#!'后面的程序名称运行。
E.g.用perl运行这个
#!/bin/perl
<.. perl stuff ..>
所以是#!/ usr/bin/ksh - 将在该位置运行带有命令解释器(shell)的脚本。
需要更多信息。关于如何在调试模式下运行。即你是在输入'ksh -x ...'还是'sh -x' - 如果是的话,你的搜索路径是哪里?例如。 'whence ksh' - 也许你在调试模式下运行了不同的shell。
另外这是什么os?
运行Korn shell脚本需要运行ksh的一个实例。你能够在调试和非调试模式下准确显示你如何调用脚本吗?你有什么,如果有的话,你有在你的abs.ksh脚本的第一行? – 2011-01-20 09:53:45