Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix Ksh脚本自动调用/usr/bin中的另一个脚本_Unix - Fatal编程技术网

Unix Ksh脚本自动调用/usr/bin中的另一个脚本

Unix Ksh脚本自动调用/usr/bin中的另一个脚本,unix,Unix,我正在执行一个名为abs.ksh的ksh脚本,该脚本位于/app/fao。。。。连接到服务器, 但是服务器正在接收一个名为“ksh”的脚本,该脚本位于/usr/bin中。。。 我没有在abs.ksh中调用任何名为ksh的脚本(抱歉,无法粘贴代码) 此外,只有在调试模式下运行脚本时才会发生这种情况。 在非调试模式下,它可以正常工作 有谁能告诉我这里可能发生了什么。在标准的“经典”Unix环境中,可能有多个shell。例如,“sh”是原始的伯恩shell,“ksh”是Korn shell,csh是C

我正在执行一个名为abs.ksh的ksh脚本,该脚本位于/app/fao。。。。连接到服务器, 但是服务器正在接收一个名为“ksh”的脚本,该脚本位于/usr/bin中。。。 我没有在abs.ksh中调用任何名为ksh的脚本(抱歉,无法粘贴代码)

此外,只有在调试模式下运行脚本时才会发生这种情况。 在非调试模式下,它可以正常工作

有谁能告诉我这里可能发生了什么。

在标准的“经典”Unix环境中,可能有多个shell。例如,“sh”是原始的伯恩shell,“ksh”是Korn shell,csh是C shell,bash,tcsh等。。用户登录将为每个登录设置默认shell

这个#!在可执行脚本的开头是一条指令,用于解释和运行后续文本,程序名在“#!”之后

例如,用perl运行这个

#!/bin/perl

<.. perl stuff ..>
#/bin/perl
所以是的/usr/bin/ksh-将在该位置使用命令解释器(shell)运行脚本

需要更多信息。了解如何在调试模式下运行。也就是说,你是在键入“ksh-x…”还是“sh-x”-如果是的话,在你的搜索路径上的哪个位置。例如,“whence ksh”-可能您正在调试模式下使用不同的shell运行


另外,这是哪个操作系统?

运行Korn shell脚本需要运行ksh实例。您能否准确地说明如何在调试和非调试模式下调用脚本?如果有的话,你的abs.ksh脚本的第一行有什么?我只是使用-x选项在调试模式下运行它…你能告诉我什么是“ksh”吗?为什么它在非调试模式下工作良好?在此期间,我将尝试获取代码……提前感谢这是代码的第一行/usr/bin/ksh这是否导致ksh被实例化并发送到服务器?@Monojeet-ksh是运行脚本所必需的-它是解释器。我不清楚你的问题是什么-你说它在非调试模式下“工作”,但在调试模式下不是-它怎么会失败?请给出工作和非工作命令行的完整示例——仅仅说“我使用-x”并不能让回答者真正了解你在做什么,或者如何帮助你。