linux中的shell究竟是什么?

linux中的shell究竟是什么?,第1张

linux中的shell究竟是;

ll程序呢? 简单的说shell程序就是一个包含若干行

shell或者linux命令文件.

象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.

在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整

的程序文件.

tcsh shell 不使用test命令,但是tcsh中的表达式同样能承担相同的功能.tcsh

支持的表达式于C中的表达式相同.通常使用在if和while命令中.

tcsh表达式 | 含义

当在Linux系统下执行本来存在的shell脚本文件,但是在执行时就是提示你文件不存在。

此时一般原因就是你shell脚本在编写时的系统跟你的执行脚本的系统不一致,比如你在window系统编写的脚本,当拷贝到Linux系统时就会遇见此问题。原因是在windows下编辑的.sh文件的格式为dos格式,而linux只能执行格式为unix格式的脚本。因为在dos/window下按一次回车键实际上输入的是“回车(CR)”和“换行(LF)”,而Linux/unix下按一次回车键只输入“换行(LF)”,所以修改的sh文件在每行都会多了一个CR,所以Linux下运行时就会报错找不到命令。另外就是当你在github上使用windows系统下载源文件中包含shell脚本文件 时,当你解压并拷贝到Linux系统执行时,也可能发生此问题。

解决办法:

我们可以通过vi编辑器来查看文件的format格式。步骤如下:

1.首先用vi命令打开文件

[root@localhost test]# vi test.sh

2.在vi命令模式中使用 :set ff 命令

可以看到文件的格式为

fileformat=dos

3.修改文件format为unix

使用vi/vim修改文件format

命令::set ff=unix

或者::set fileformat=unix

然后:wq保存退出,重新执行脚本就正常了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7225160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存