Windows 从shell脚本调用blat,w8
正在尝试从shell脚本执行blat。我设置了环境Windows 从shell脚本调用blat,w8,windows,bash,shell,blat,Windows,Bash,Shell,Blat,正在尝试从shell脚本执行blat。我设置了环境PATH变量,可以在命令提示下从任何位置调用blat。从命令行发送电子邮件工作正常。但是我不能在shell脚本中调用它 (简化)脚本 我得到: $ sh script.sh script.sh: line 2: blat: command not found 我还尝试指定绝对路径C:/Windows/System32/blat,但也没有成功 有很多方法可以解决这个问题。如果您只从Bash运行blat,那么您可以 只要把它放在/usr/local
PATH
变量,可以在命令提示下从任何位置调用blat
。从命令行发送电子邮件工作正常。但是我不能在shell脚本中调用它
(简化)脚本
我得到:
$ sh script.sh
script.sh: line 2: blat: command not found
我还尝试指定绝对路径
C:/Windows/System32/blat
,但也没有成功 有很多方法可以解决这个问题。如果您只从Bash运行blat,那么您可以
只要把它放在/usr/local/bin
AKAC:\cygwin64\usr\local\bin
如果您需要从Bash和cmd/PowerShell运行它,Windows“开箱即用”已经提供
支持率很低。使用Linux/Bash,您的路径通常看起来
大概是这样的:
/usr/local/bin:/usr/bin
C:\Windows\System32;C:\Windows
如您所见,默认情况下,路径仅具有系统空间。这很糟糕,因为它
鼓励人们做一些愚蠢的事情,比如把用户程序放在受保护的程序旁边
操作系统文件。Windows所需要的相当于
/usr/local/bin
,路径上的一个文件夹,位于人们可以访问的所有内容之前
转储命令行程序。在此之前,您只需添加自己的:
blat.exe
移动到C:\Users\\Documents
SETX PATH "%PATH%;C:\Users\<user>\Documents" /M
SETX路径“%PATH%;C:\Users\\Documents”/M
该程序应可供所有Shell使用。谢谢。这很有帮助。我将blat.exe放入
C:\Users\\Documents
并将该路径添加到系统变量中,从而使其正常工作。但是我不太明白为什么在C:\Windows\System32
中有blat.exe不能正常工作,这自然是一个路径目录。
SETX PATH "%PATH%;C:\Users\<user>\Documents" /M