如何在Cygwin中无需显式输入bash即可执行bash脚本?
解决脚本直接执行提示"command not found"的问题
出现这个错误的核心原因是当前工作目录不在系统的PATH环境变量中,bash只会搜索PATH里列出的目录查找可执行命令,不会默认搜索当前目录。以下是几种可行的解决方案:
方案1:临时将当前目录加入PATH
在Cygwin终端执行这条命令:
export PATH=$PATH:.
执行后即可直接用select-ANAV-for-ARPT_IDENT.sh US01017运行脚本,但该修改仅在当前终端会话有效,关闭终端后会恢复原样。
方案2:永久将当前目录加入PATH
编辑bash的配置文件(比如~/.bashrc或~/.bash_profile),在文件末尾添加一行:
export PATH=$PATH:.
保存文件后,执行以下命令让修改立即生效:
source ~/.bashrc
之后每次打开终端,当前目录都会被包含在PATH中,可直接运行脚本。
方案3:直接指定当前目录路径运行脚本
无需修改PATH,每次运行时在脚本名前加上./,明确指向当前目录下的可执行文件:
./select-ANAV-for-ARPT_IDENT.sh US01017
额外确认:你的脚本开头#!/bin/bash的shebang行是正确的,因为你已能通过bash命令正常执行脚本,说明bash路径匹配无误。
内容的提问来源于stack exchange,提问作者Roger Costello
相关产品推荐
相关产品推荐

