gpt4 book ai didi

KSH shell 脚本不会执行并返回 127(未找到)

转载 作者:行者123 更新时间:2023-12-02 08:59:08 25 4
gpt4 key购买 nike

谁能告诉我为什么以下不起作用?

$ groups
staff btgroup
$ ls -l
total 64
-rw-rw---- 1 sld248 btgroup 26840 Apr 02 13:39 padaddwip.jks
-rwxrwx--- 1 sld248 btgroup 1324 Apr 02 13:39 padaddwip.ksh
$ ./padaddwip.ksh
ksh: ./padaddwip.ksh: not found.
$ echo $?
127

这与另一个运行良好的脚本几乎相同。我看不出两者在权限或所有权方面有任何差异。

最佳答案

可能有两个问题:

  • Shebang 线是错误的(正如 Ghostdog 所暗示的)

  • 该脚本是从 Windows 保存的,并具有 DOS 行结尾。

对于后者,请执行

head padaddwip.ksh | cat -vet | head -1

该命令应生成不以 ^M 结尾的 shebang 行。如果它确实以 ^M 结尾,则这是一个 DOS 编码文件,修复方法是:

cp padaddwip.ksh padaddwip.ksh.bak
dos2unix padaddwip.ksh.bak > padaddwip.ksh
./padaddwip.ksh

在没有 dos2unix 的系统上,您可以使用

cat padaddwip.ksh.bak | tr -d "\r" > padaddwip.ksh

关于KSH shell 脚本不会执行并返回 127(未找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2637936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com