运行sh脚本会找不到任何unix / linux基本命令的命令

时间:2018-05-30 14:47:48

标签: linux windows shell cygwin

我正在运行具有基本命令的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。

1 个答案:

答案 0 :(得分:0)

第一次调用bash必须是登录shell。 如果不是环境设置不足

E:\cygwin64>bin\bash.exe
bash: arch: command not found
bash: ARCH: command not found
bash: ARCH: command not found
bash: dircolors: command not found

marco@FG /

虽然使用登录shell的环境是正确的

E:\cygwin64>bin\bash.exe -l

marco@FG ~

这就是Mintty / Cygwin终端快捷方式使用“ - ”

的原因
$ mintty --help
Usage: mintty [OPTION]... [ PROGRAM [ARG]... | - ]

Start a new terminal session running the specified program or the user's shell.
If a dash is given instead of a program, invoke the shell as a login shell.
...