window编写shell脚本linux执行报错解决
思韵闪耀
2023-10-09
0

1、Linux下执行shell脚本报错如下:

[root@localhost home]# sh test.sh
 stat 失败: No such file or directory

tesh.sh在windows上创建,脚本内容如下

more /proc/cpuinfo
more /proc/meminfo

2、原因:

是Windows和Linux的.sh脚本文件格式不同,如果在脚本中有空行,脚本是在Windows下进行编辑之后上传到linux上去执行的话,就会出现这个问题。

windows 下的换行符是\r\n,而 linux 下的换行符是\n,没有识别/r,所以会导致上述的报错,这个属于脚本编码的问题。

3、解决方法:(运行以下命令即可修改该脚本格式)

在test.sh对应脚本目录下,执行以下命令即可。

vi test.sh
:set ff=unix
:wq

保存退出后,恢复到原先步骤,继续执行原来的脚本命令即可。

sh test.sh

4、命令行解释: 

# 用vi编辑器打开文件,open、edit(E)、recover、delete 根据提示选择首字母进入文件编辑状态(键盘E), vi start.sh直接输入:冒号后,命令行会自动跳至最后一行进行编辑 

#转换格式,设置脚本格式为Linux形式。 :set ff=unix 

#保存文件并退出,w写入q退出。 :wq


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

热门资讯

SIOCADDRT: Netw... SIOCADDRT: Network is unreachable SIOCADDRT: 网络不可达...
centos7下创建新用户和组 linux下添加,删除,修改,查看用户和用户组 1 .增加一个test组 groupadd test...
linux通过sed 修改文件... 13sy.txt里面内容如下 A; B; C; write by luohao199621; 1.要...
关于cannot remove... 关于cannot remove directory: Directory not empty的解决办...
mount: unknown ... mount: unknown filesystem type LVM2_member解决方案 系统启...
OpenMediaVault安... OpenMediaVault 是一个基于Debian的专用 Linux 发行版,用于构建网络连接存储...
centos7 双网卡双网关的... 最近公司需要在一台服务器上同时使用内网和外网,并且都需要跨网段访问,因此需要双网关,但是一台机子上只...
ethtool 命令详解 1 概述 ethtool 是用于查询及设置网卡参数的命令。 2 命令详解 2.1 命令格式 (1) ...
CentOS7单网卡设置双IP... linux系统CentOS7单网卡设置双IP的方法,centos7.5、7.6、7.7设置双IP教程...
Linux进程状态D,S,Z的... Linux进程状态top,ps中看到进程状态D,S,Z的含义 在top和ps命令中有一列显示进程状态...