![bash 无法识别脚本](https://linux22.com/image/914404/bash%20%E6%97%A0%E6%B3%95%E8%AF%86%E5%88%AB%E8%84%9A%E6%9C%AC.png)
我对脚本编写还很陌生,正在尝试从视频和书籍中学习。当我编写第一个脚本时,bash 将其视为命令而不是可执行文件(是的,我使用了 775)。以下是脚本和 bash 错误的示例:
#!/bin/bash
echo"TTTTTTT"
exit
turan_first: command not found
我是新手,甚至不知道问题出在哪里。请帮忙。
答案1
当你调用一个程序或脚本时,shell 会在变量中声明的目录中查找它PATH
。除非你调用指定路径的程序文件 - 绝对路径或相对路径 -
当然,调用脚本或程序文件的用户必须对文件具有可执行权限
aprogram ## Looks for the file in directories declared in PATH
/path/to/aprogram ## Looks for aprogram in /path/to
./aprogram ## Looks in current directory for aprogram
查看echo $PATH
~/turan_first
可执行文件包含
#!/bin/bash
echo "TTTTTTT"
exit
- 命令后需要一个空格
echo
,否则 shell 将无法识别它 exit
当脚本正常结束时是无用的- 使用以下方式调用脚本,
~/turan_first
或者在提示符出现时~/
使用以下方式调用脚本./turan_first
一个好的做法是将所有脚本存储在一个专用目录中。
~/Scripts
在这种情况下,你会习惯
~/Scripts/turan_first
使用自动完成来调用脚本。下一步可能是将脚本目录添加到 PATH 环境变量中。这样你就可以在不指定任何路径的情况下调用脚本。
编辑 bashrc 文件:
nano ~/.bashrc
并添加行
export PATH="~/Scripts:$PATH"