为什么在linux系统shell编程不显示

为什么在linux系统shell编程不显示,第1张

当在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保存退出,重新执行脚本就正常了

linux下使用rm删除目录文件时不用提示,可以使用rm -rf命令。

例如删除test目录,可以使用命令rm -rf test。

例如删除test.txt文件,可以使用命令rm -rf test.text。

f参数 (f --force ) 表示忽略不存在的文件,不显示任何信息。

-r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

扩展资料

linux下rm命令的参数介绍:

-f, --force    忽略不存在的文件,从不给出提示。

-i, --interactive 进行交互式删除。

-r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

-v, --verbose    详细显示进行的步骤。

--help     显示此帮助信息并退出。

--version  输出版本信息并退出。

如果命令执行均正常,只是不显示键盘打印字符,那就只是stty的问题。我们通常会认为,敲了键盘,就应该有字出现在屏幕上。这是因为stty提供了字符回显。

各个把键盘键入的字符输出来的就是stty的输入回写功能,包括退格等字符处理,都是stty处理掉的。键盘给电脑的只有按键消息。怎么修复无回显的问题?在终端输入以下命令再回车即可。

为了避免之前有字符影响,可以先回车一下。执行后,回显就有了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存