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
从Solaris KornShell运行.ksh脚本_Shell_Unix_Solaris_Ksh - Fatal编程技术网

从Solaris KornShell运行.ksh脚本

从Solaris KornShell运行.ksh脚本,shell,unix,solaris,ksh,Shell,Unix,Solaris,Ksh,我已经开发了几个KornShell(ksh)脚本来在Solaris上运行。我在油灰上运行脚本。在一台服务器上,我可以按如下方式运行它们: $ script.ksh $ ./script.ksh 在另一个服务器上,我需要按如下方式运行它们: $ script.ksh $ ./script.ksh 否则我会得到一个script.ksh not found错误。什么会导致这种差异?我从这个脚本中调用脚本,并且不希望为了让脚本工作而必须更改所有脚本以将“/”附加到每个脚本调用中 这两台服务器都u

我已经开发了几个KornShell(ksh)脚本来在Solaris上运行。我在油灰上运行脚本。在一台服务器上,我可以按如下方式运行它们:

$ script.ksh
$ ./script.ksh
在另一个服务器上,我需要按如下方式运行它们:

$ script.ksh
$ ./script.ksh
否则我会得到一个script.ksh not found错误。什么会导致这种差异?我从这个脚本中调用脚本,并且不希望为了让脚本工作而必须更改所有脚本以将“/”附加到每个脚本调用中

这两台服务器都uname-a报告如下:

$ uname -a = SunOS servername 5.10 Generic_147440-10 sun4u sparc SUNW,Sun-Fire-V245
$ echo $SHELL = /bin/ksh

PATH=“$PATH:。”
添加到主脚本。

检查两台机器上$PATH变量的差异,您会找到答案。比较两个路径后,看起来有效的路径中有/opt/OV/bin,而另一个没有。我认为这是HP Open View bin,因此不确定这是否会影响运行单独的脚本。不,它似乎不会。但再次查看后,有两个路径值由两个冒号表示,而不是1。“/path1::/path2”无效的$PATH不包含一个路径。我知道您要在路径中添加“.”,因此我将尝试将其导出到路径中。在您的控制脚本中,我将添加
path=“$path:。”
,而不是依赖调用脚本的用户在路径中包含“.”。在$path中有一个空字段(即,两个相邻的
)指当前目录。这确实可以解释这种差异。