alm*_*mel 31 bash terminal tomcat
我在这里有一个非常基本的问题,这对我来说是偶然发生的,直到现在,我都忽略了它.我下载了tomcat web服务器,"Murach的Java Servlets和JSP"一书告诉我导航到tomcat/bin目录并启动服务器我在终端输入
$ startup
但是,我得到了错误
-bash: startup: command not found
Run Code Online (Sandbox Code Playgroud)
此目录中的相关文件是startup.sh和startup.bat.键入这两个都会返回相同的错误消息
所以我的问题是,什么是.bat和sh文件,以及如何运行这些文件?我已经阅读了几个不同语言和软件程序的教程,有时当教程说在命令行中执行一堆文件时,我收到"命令未找到"错误.有时候它有效,有时则不然.这对我来说很困惑,那么解决这些"命令未找到"终端问题的常见解决方案是什么?
pil*_*eks 52
的.sh是*nix系统,并.bat应适用于Windows.由于您的示例显示了bash错误,并且您提到了Terminal,我假设它是您正在使用的OS X.
在这种情况下,您应该转到该文件夹并键入:
./startup.sh
Run Code Online (Sandbox Code Playgroud)
./只是意味着你应该调用当前目录中的脚本.(或者,只需键入完整路径startup.sh).如果它不起作用,请检查是否startup.sh具有执行权限.
小智 9
这是因为脚本不在$ PATH中.使用
./scriptname
Run Code Online (Sandbox Code Playgroud)
您也可以将其复制到$ PATH中的一个文件夹或更改$ PATH变量,以便始终只使用脚本名称.但请注意,您的当前文件夹不在$ PATH中是有原因的.这可能是一种安全风险.
如果您仍然在执行脚本时遇到问题,则可能需要检查其权限 - 显然,您必须具有执行权限才能执行它.使用
chmod u+x scriptname
Run Code Online (Sandbox Code Playgroud)
一个.sh文件是一个Unix shell脚本.一个.bat文件是Windows批处理文件.
小智 6
键入bash script_name.sh或./script_name在Linux终端中.在使用./script_namemake 之前,脚本可执行sudo chmod 700 script_name并输入script_name.batwindows.
对于像我这样的懒惰 Mac 用户来说,最简单的方法是:将startup.sh文件从 Finder拖放到终端窗口,然后按 Return。
要关闭 Tomcat,请使用shutdown.sh.
您可以删除所有.bat文件,因为它们仅适用于 Windows PC,在 Mac 和其他 Unix 计算机上没有用。我删除了它们,因为这样可以更轻松地阅读该文件夹的列表。
我发现新的 Tomcat 下载不会在我的 Mac 上运行,因为文件权限限制在启动期间抛出错误。我使用BatChmod将 GUI 包裹在等效 Unix 命令周围的应用程序来重置文件权限。
Unix 系统保护对编号低于 1024 的端口的访问。因此,如果您想在 Tomcat 中使用端口 80,您将需要学习如何进行“端口转发”以将传入请求转发到 Tomcat 默认侦听的端口 8080。要进行端口转发,您可以向 Mac OS X(和BSD)中内置的数据包过滤(防火墙)应用程序发出命令。在过去,我们使用ipfw. 在 Mac OS X 10.7 (Lion) 及更高版本中,Apple 正在转向更新的工具pf.
| 归档时间: |
|
| 查看次数: |
212457 次 |
| 最近记录: |