此时一般原因就是你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处理掉的。键盘给电脑的只有按键消息。怎么修复无回显的问题?在终端输入以下命令再回车即可。
为了避免之前有字符影响,可以先回车一下。执行后,回显就有了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)