编写Linux中sh文件执行时出现莫名字符的问题

  今天在项目中需要编写一个sh,执行一些初始化操作,然后调取原来的执行文件,但是我在操作中主要到了首行需要加入#!/bin/sh 的表达式,但是在执行时总是报错,原因是每次执行,表达式后边都会添加一个莫名奇妙的字符,最后才找到原因,是因为我用的windows编辑的文件,然后直接传到Linux运行,因为两个系统的换行符的编码不一样,所以出现在Linux下会多出一个字符,导致运行失败

可以使用

:set ff?

  查询文件格式是unix的还是dos的

查了一下,确实是dos格式,然后使用以下命令,修改为unix格式

:set ff=unix

  

时间: 2024-12-11 07:10:40

编写Linux中sh文件执行时出现莫名字符的问题的相关文章

linux中Makefile文件相关内容

第一章.概述什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional(专业)的程序员,makefile还是要懂.这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义.特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力.因为,makefile关系到了整个

深入理解Linux中的文件权限

Linux中文件权限 Linux中每个文件都有一个特定的拥有者(一般是创建它的用户)和所属用户组,这是它的固有属性.文件可以利用这两个固有属性来规定它的拥有者或者是所属用户组内的用户是否拥有对它的访问权利,即读.写和执行的权利.此外为了提高适应性,文件还规定了其他不相关的人等的访问权限,也就是第三个固有属性.这三个固有属性和三个权利合起来,就构成了文件针对系统中所有用户的访问控制,也就构成了Linux中的文件权限体系. 1.1 使用ls命令的-l选项查看root家目录,结果如下 [[email 

【转】linux中inittab文件详解

原文网址:http://www.2cto.com/os/201108/98426.html linux中inittab文件详解 init的进程号是1(ps -aux | less),从这一点就能看出,init进程是系统所有进程的起点,Linux在完成核内引导以后,就开始运行init程序. init程序需要读取配置文件/etc/inittab.inittab是一个不可执行的文本文件,它有若干行指令所组成. 理解Runlevel: runlevel用来表示在init进程结束之后的系统状态,在系统的硬

【翻译自mos文章】在unix/linux中使用文件描述符(File Descriptors)来找回被删掉的文件(数据文件or redo log)

在unix/linux中使用文件描述符(File Descriptors)来找回被删掉的文件(数据文件or redo log) 参考原文: Retrieve deleted files on Unix / Linux using File Descriptors (Doc ID 444749.1) 适用于: Oracle Database - Enterprise Edition - Version 8.1.7.0 to 11.2.0.3 [Release 8.1.7 to 11.2] Linu

把dll打包到程序中并在执行时释放

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请标明来源) 参考文档: http://blog.sina.com.cn/s/blog_5f432e6a0100uaet.html 编写MFC程序的时候,使用dependency查看依赖时,会看到有依赖MFC的库,通常都包含如下这两个: MSCVCR100/90/80/70.dll库是一个很独立的库,它只依赖库Kenel32/kenel64 MFC100/90/80/70.dll也相对独立,依赖MS

linux中对文件的权限设置以及作用

一.通过权限的设置达到目录共享 在linux中通过对文件的权限设置可以充分对文件的 owner进行内容保护,也可以把内容分享给想要分享的用户.下面举例说明:1.首先在root权限下创建一个组,三个用户,将三个用户全部添加到同一组里groupadd gongxiang(创建一个组为gongxiang的组)useradd -G gongxiang zhangsan(创建一个用户zhangsan加入附属组gongxiang)useradd -G gongxiang zhangsi(创建一个用户zhan

Linux中使用 FTP 命令时出现 “-bash: ftp: command not found”

Linux下登陆 Linux中使用 FTP 命令时出现“-bash: ftp: command not found” Linux中测试搭建 FTP 服务器,刚安装完 vsftpd 测试登录时就提示“-bash: ftp: command not found”,说明需要安装FTP客户端.安装此ftp-0.17-51.1.el6.x86_64.rpm包即可访问.FTP客户端安装配置下载FTP-0.17-51.1.el6.x86_64.rpm, 下载地址有:http://rpm.pbone.net/i

Linux中删除文件,磁盘空间未释放问题追踪

在客户使用我们产品后,发现一个问题:在删除了文件后,磁盘空间却没有释放.是有进程在打开这个文件,还是其他情况?我们一起来看看一下两个场景 一. 场景一:进程打开此文件 当一个文件正在被一个进程使用时,用户删除此文件,文件只会从目录结构中删除,但并没有从磁盘删除.当使用这个文件的进程结束后,文件才会真正的从磁盘删除,释放占有的空间. 我们发现剩余磁盘空间比较少时,回去删除一些大的临时文件或者log文件,如果删除之后会发现磁盘空间并未减少,那么可以通过"lsof"命令去查看正在使用该文件的

5 个在 Linux 中管理文件类型和系统时间的有用命令

对于想学习 Linux 的初学者来说要适应使用命令行或者终端可能非常困难.由于终端比图形用户界面程序更能帮助用户控制 Linux 系统,我们必须习惯在终端中运行命令.因此为了有效记忆 Linux 不同的命令,你应该每天使用终端并明白怎样将命令和不同选项以及参数一同使用. 在 Linux 中管理文件类型和设置时间 请先查看我们 Linux 小技巧系列之前的文章: 5 个有趣的 Linux 命令行技巧 给新手的 10 个有用 Linux 命令行技巧 在这篇文章中,我们打算看看终端中 5 个和文件以及