我的虚拟机上有一个脚本,我想在没有[]$ ./myscript
[studentuser@CentosStudentSvr ~]$ myscript
-bash:iduser:未找到命令
否则会出错:
-bash: iduser: command not found
我该如何修复它?
谢谢
答案1
如果您输入,myscript
则您的 shell 将在您的 PATH 中查找是否可以找到名为 的命令myscript
。与 Windows 不同,默认情况下,您的当前目录不在您的路径中。
这意味着您要么想要:
- 现在将其添加到你的路径中(手动)
- 每次启动时将其添加到您的路径中(编辑文件夹中的启动脚本。具体哪个取决于您使用的 shell。通常是 .profile 或 .bashsomething)
- 或者指定二进制文件的完整路径。例如
./iduser
或/home/user229525/iduser
。
如果当前目录(.
)已经在您的路径中,则检查您的程序。
- 它是可执行的吗?(ls -l,在 rwx 中查找
x
) - 如果它是一个脚本,它是以 shebang 开头吗?(例如第一行
#!/usr/bin/env bash
)。
答案2
Bash 在 $PATH 变量中枚举的路径中查找“命令”。将脚本移动到/usr/bin
$PATH 中提到的文件夹或其他文件夹(或将脚本所在的文件夹添加到 $PATH)。
您还可以为运行的 bash 定义一个别名alias myscript="bash /path/to/script/myscript"
。(请自己验证语法,我现在不确定)