在linux下,如何运行sh脚本。

嗯,你说的这种情况其实很常见。
Windows 和 Linux 系统处理文本文件的方式略有不同。
使用 Windows 记事本或其他编辑器编写的 .sh 文件在保存时将使用名为“CRLF”的换行符。
但Linux系统期望的是“LF”换行符。
这就是为什么当你在Linux下使用它时,系统会对你生气并说“找不到文件或目录”。
事实上,这意味着换行符不兼容。

使用 vim 完成时,您提到的步骤非常准确。
具体操作需要使用vim打开.sh文件。
然后按“:”键,电脑屏幕上会出现一个冒号。
然后输入 setff 或 setfileformat 并按 Enter。
它会告诉您文件的格式。
很可能是“DOS”或“dos”,有时也可能是“unix”或“未知”。

如果确实是“DOS”,则再次按“:”键,这次输入setff=unix或setfileformat=unix并按Enter键。
这会将文件格式更改为 Linux 可以识别的格式。
修改完成后,再次按“:”键,输入wq,回车,文件就会被保存,然后退出vim。

保存后可以到Linux下尝试运行.sh文件,应该没有问题。
这种“nosuchfileordirectory”错误通常是由换行符引起的。
说实话,刚开始接触的时候我也很困惑。
为什么我无法运行该文件,即使它存在?后来我意识到这是一个格式问题,然后就好了。

linux .sh 执行某命令

结论:在Linux下执行.sh脚本: 1 、直接执行:sh /path/to/script.sh 2 .启用执行:chmod +x script.sh,然后./script.sh 3 、绝对路径执行:/path/to/script.sh 4 . /bin/sh 执行:/bin/sh /path/to/script.sh 5 、源码执行:source /path/to/script.sh 或 source /path/to/script.sh
记住,脚本开头必须有!/bin/bash或者类似的shebang。

linux执行sh文件命令如何在Linux中运行一个Shell脚本

你好,兄弟,我最近一直在修改 Linux 上的脚本,这对我来说真的很新又熟悉。
记得有一次,2 01 9 年,我在公司服务器上写了一个脚本,批量更新系统软件包,真是烦人。

当时我傻乎乎地以为只要剧本写好了,放在那里,随意演就可以了。
结果运行脚本的时候报各种错误,至今还不知道为什么。
后来查了一下,发现是执行权限有问题。
我当时没有给脚本添加执行权限,愚蠢地使用了bashscript.sh格式来运行它。
真是太棒了。

后来吸取教训,用chmod给脚本添加执行权限,然后就可以直接运行了。
例如,我将脚本命名为 update.sh,然后在命令行上像这样运行它:
chmod u+x update.sh
然后直接运行即可:
./update.sh
这次脚本运行顺利,服务器上的软件包也更新了。
真是太美了。

话虽如此,我还想提一下!/bin/bash。
这段代码非常重要。
它告诉系统这个脚本需要由bash解释并执行。
我以前也犯过错误。
如果没有此代码,脚本将在运行时出错。
比如我之前写了一个脚本,忘记添加这段代码了。
导致在zsh中运行时不兼容。

所以,兄弟,以后写脚本的时候,记得在第一行加上!/bin/bash,这样程序大多数情况下都能顺利运行。
当然,如果你使用zsh或其他shell,则应相应更改为!/bin/zsh或其他。

这个虽然简单,但是当时却让我很头疼。
现在回想起来,那些陷阱足以让我陷入其中。
不过也正是因为这个原因,我现在对Linux脚本有了更深入的了解。
哈哈,这就是我踩过的坑,希望对你有帮助。
如果您有任何疑问,请随时问我。