我使用本教程学习bash脚本来实现一些自动化 给我的任务。 我正在用putty连接服务器。

脚本,位于…/ /日志文件是:

#!/bin/bash
# My first script
echo "Hello World!"

我执行了下面的读/写/执行权限

chmod 755 my_script

然后,当我输入。/my_script时,我得到的是 标题。

一些类似的问题想要看到这些,所以我认为他们可能会 帮助:

$ which bash
/bin/bash

and

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/bin/mh

我尝试将当前目录添加到PATH,但是没有 工作……


当前回答

这是由于在windows中编辑文件和在unix中导入和执行造成的。

Dos2unix -k -o filename可以做到这一点。

其他回答

如果你在Windows或Mac上使用Sublime Text编辑你的脚本:

单击View > Line ends > Unix并再次保存文件。

这是由于在windows中编辑文件和在unix中导入和执行造成的。

Dos2unix -k -o filename可以做到这一点。

在终端中执行以下命令

sed -i -e 's/\r$//' scriptname.sh

那就试试

./scriptname.sh

它应该会起作用。

对于Eclipse用户,您可以直接从菜单file > Convert Line delimto > Unix (LF, \n, 0Α,¶)更改文件编码:

或者将新建文本文件行分隔符更改为Other: Unix on Window > Preferences > General > Workspace面板:

Atom有一个内置的行结束选择器包

更多详情请访问:https://github.com/atom/line-ending-selector