首页 > 系统相关 >[转]Windows下编写的shell脚本,传到Linux执行出现bad interpreter:No such file or directory

[转]Windows下编写的shell脚本,传到Linux执行出现bad interpreter:No such file or directory

时间:2024-11-15 14:41:51浏览次数:1  
标签:shell interpreter No sh set file Linux such

原文地址:bad interpreter: No such file or directory 解决方法 - jprothwell - 博客园

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。

分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
2)也可在Linux中转换:
首先要确保文件有可执行权限
#sh>chmod a+x filename

然后修改文件格式
#sh>vi filename

利用如下命令查看文件格式
:set ff 或 :set fileformat

可以看到如下信息
fileformat=dos 或 fileformat=unix

利用如下命令修改文件格式
:set ff=unix 或 :set fileformat=unix

:wq (存盘退出)

最后再执行文件
#sh>./filename

标签:shell,interpreter,No,sh,set,file,Linux,such
From: https://www.cnblogs.com/dirgo/p/18547943

相关文章

  • Shell并发执行
    在Shell脚本中,实现并发执行可以显著提高处理效率,特别是在处理大量任务或需要同时执行多个命令时。以下是一些常见的方法来实现Shell并发执行:1.使用&符号通过在命令末尾添加&符号,可以将命令放到后台运行,从而实现并发执行#!/bin/bashcommand1&command2&这种方法简单易用,......
  • 在 PowerShell 中,执行 ipconfig /flushdns 是清除本地 DNS 缓存的标准方式。PowerShel
    在PowerShell中,执行ipconfig/flushdns是清除本地DNS缓存的标准方式。如果你希望在PowerShell脚本中实时清理DNS缓存,你可以直接执行ipconfig/flushdns命令,并输出一些提示信息来确认操作已完成。PowerShell实时清理DNS缓存代码:powershellCopyCode#执行ipconf......
  • 在 Windows 中,RDP(远程桌面协议)默认使用 3389 端口。如果你想通过 PowerShell 更改此端
    在Windows中,RDP(远程桌面协议)默认使用3389端口。如果你想通过PowerShell更改此端口为10010,你需要修改注册表设置并重启远程桌面服务。以下是使用PowerShell更改RDP端口为10010的步骤:步骤:以管理员身份运行PowerShell。执行以下命令修改注册表,修改RDP端口设置:p......
  • 如何禁止 SQL Server 中的 xp_cmdshell 以提高安全性
    概述在SQLServer中,xp_cmdshell是一个强大的功能,它允许执行操作系统级别的命令。然而,这也带来了潜在的安全风险。本文将详细介绍如何禁止xp_cmdshell,以增强SQLServer的安全性。禁止 xp_cmdshell 的步骤步骤1:检查 xp_cmdshell 的当前状态在开始禁止xp_cmdshell之......
  • xshell上实现:MongoDB文档查询
    实验内容概述    本实验旨在了解MongoDB文档数据库的基本操作,包括创建集合、插入文档数据和执行文档查询操作。实验环境:Linux(Centos7)xshell7Mongodb实验目的理解MongoDB文档数据库的基本概念和特性。掌握在MongoDB中创建集合和插入文档数据的方法。学习使用Mongo......
  • xshell7上实现MapReduce初级编程实践:对给定的表格进行信息挖掘
      实验环境:操作系统:Linux(Centos7);  Xsell7Hadoop版本:3.4.0(这里的版本根据自己的修改,可能小部分版本的Hadoop不适用于本文实验)下面给出一个child-parent的表格,要求挖掘其中的父子辈关系,给出祖孙辈关系的表格。输入文件内容如下:(保证之间空格为1,否则可能输出会出错)chi......
  • Shell编程 - 变量篇
    变量1.系统变量在命令行提示符直接执行env、set查看系统或环境变量。env显示用户环境变量,set显示Shell预先定义好的变量以及用户变量。可以通过export导出成用户变量。一些写Shell脚本时常用的系统变量:$SHELL默认Shell$HOME当前用户家目录$IFS内部字段分隔符......
  • shell编程 - 基础篇
    1.Shell简介 Shell是一个C语言编写的脚本语言,它是用户与Linux的桥梁,用户输入命令交给Shell处理,Shell将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。2.Shell编程语言必知必会shell命令解释器:bash编程常用命令解释器.命令解释器bash目前应用最广......
  • shell 命令
      read:https://www.cnblogs.com/f-ck-need-u/p/7402149.html如果没有指定任何var_name,则分割后的所有字段都存储在特定变量REPLY中。选项说明:-a:将分裂后的字段依次存储到指定的数组中,存储的起始位置从数组的index=0开始。-d:指定读取行的结束符号。默认结束符号为换行符......
  • jenkins打包报错Build step 'Execute shell' marked build as failure Finished: FA
    1、jenkins打包报错  处理方式1、在步骤“Executeshell”命令最上面添加(还是报错)#!/bin/bash2、设置全局配置,添加键和值(还是报错)键:LANG值:zh.CH.UTF-83、设置全局配置,添加键和值(还是报错)键:JAVA_TOOL_OPTIONS值:-Dfile.encoding=UTF-84、cat /usr/lib/systemd/sys......