linux报错:-ksh: xxxx: not found [No such file or directory]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux报错:-ksh: xxxx: not found [No such file or directory]相关的知识,希望对你有一定的参考价值。

1. 已经cd到了脚本所在的目录
2. 用./xxxx 可以正常执行
3. 用/bin/ksh xxxx 可以正常执行
4. 脚本的第一行是#!/bin/ksh
请帮忙看看是什么原因,谢谢。

没看懂你说的啥意思? 使用文件路径执行文件ok,那就没以后问题。 ksh fileName执行也没有问题。

那都ok啊。 你要表达的是?

还是你直接 $file 这样格式执行,比如tesh.sh 么? 直接这样的时候,ksh会在$PATH 这个环境变量中查找,如果没找到,则报not found 。追问

我的脚本是test.ksh,我已经cd到了脚本所在的目录,在命令行执行test.ksh时报错:
-ksh: xxxx: not found [No such file or directory]
但是我用./test.ksh 或/bin/ksh test.ksh 可以正常执行

追答

如是我模拟的,假设test.ksh 在/test/test.ksh

1. 进入到程序所在目录
[root@master test]# cd
[root@master ~]# cd /test/
[root@master test]# ls
test.ksh

2. 使用程序的相对路径执行./test.sh ,没有问题(在这里要保证当前用户对该命令有可执行权限)
[root@master test]# ./test.ksh
ok

3. test.ksh 作为 ksh 参数来执行,木有问题
[root@master test]# ksh test.ksh
ok

4. 直接test.ksh (注意这里既不是./test.ksh 也不是/test/test.ksh)
[root@master test]# test.ksh
-bash: test.ksh: command not found
这种方法当然执行错误了。(我这里是用bash测试的,不是ksh,但是这两个shell在这些情况下,处理时一致的)。
这样ksh 会将test.ksh当做存在于$PATH指定路径中的命令来执行,而在$PATH路径中搜索的时候,没有找到,则会报“-ksh: xxxx: not found [No such file or directory]” 这个错误了。

遇到第四种情况,你可以将test.ksh 所在路径加入到 $PATH当中。操作方法如下:
[root@master test]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@master test]# export PATH=$PATH:/test
[root@master test]# ls
test.ksh
[root@master test]# test.ksh
ok
[root@master test]#
你看调整后即可执行了

其实这个问题是在学习linux当中最最基础的问题了,建议你先自己认真思考下

参考技术A xxx 不在PATH中
export xxx的地址追问

我已经cd 到脚本所在的目录了,为啥还要export它的路径?

参考技术B 权限问题,赋下权限就能直接执行了

js报错 Uncaught TypeError: xxxx.each is not a function

在处理ajax返回的json数组时错误的使用了 

list.each(function(){
            
        });

实际上当遍历json数组是应该使用

    $.each(list,function(index,course){
        
    });

 

以上是关于linux报错:-ksh: xxxx: not found [No such file or directory]的主要内容,如果未能解决你的问题,请参考以下文章

js报错 Uncaught TypeError: xxxx.each is not a function

Xcode 编译运行报错: CpResource /user/xxxx/ xxx Directory not empty

hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx

hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx

hadoop distcp 报错: Could not find any valid local directory for s3ablock-xxxx

报错“This app is not allowed to query for scheme sinaweibosso”