【发布时间】:2018-11-09 11:35:57
【问题描述】:
我正在运行具有基本命令的 Shell 脚本。
对于脚本中的任何命令,我都会收到如下错误:
第 3548 行:mv:找不到命令
第 3550 行:cmd:找不到命令
第 708 行:mkdir:找不到命令
第 715 行:cygpath:找不到命令
第 726 行:mv:找不到命令
第 727 行:cp:找不到命令
第 731 行:mv:找不到命令
第 732 行:cp:找不到命令
第 736 行:mv:找不到命令
第 737 行:cp:找不到命令
第 749 行:expr:找不到命令
第 770 行:expr:找不到命令
注意:我在我的 Windows 系统变量 PATH 中添加了 c:\cygwin\bin 和 c:\Cygwin\usr 下的各种其他目录,例如 sbin、X11R6、local。我也尝试用同样的问题重新安装 Cygwin。我使用的是 Windows 10。我在管理员模式下运行 cmd,然后运行 bash。
【问题讨论】:
-
您是否使用 Cygwin 终端 (mintty) 运行 cygwin?看来您没有运行 bash 登录 shell
-
尝试使用完整的命令/exe 路径,例如 c:\cygwin\bin\mv
-
你的 cygwin PATH——而不是 Windows PATH——是什么样的?
-
顺便说一句,编写良好的脚本不使用
expr,这是 1970 年代的向后不兼容保留。符合 POSIX 的数学使用$(( ... ))代替。 -
在您的脚本中,您是否完成了:
PATH="some value"?我通常会说“显示你的脚本”,但鉴于行号,请不要。
标签: linux windows shell cygwin