当在Linux系统下执行本来存在的shell脚本文件,但是在执行时就是提示你文件不存在。
10年的舒城网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整舒城建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“舒城网站设计”,“舒城网站推广”以来,每个客户项目都认真落实执行。
此时一般原因就是你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保存退出,重新执行脚本就正常了
vnc通常是连图形界面的。
所以你的服务器应该安装桌面系统(如gnome)之后,再通过vnc连接控制。
如果你仅希望命令行控制,应该使用 ssh。
ssh客户端 默认是文本界面的,
并且在服务器端,
ssh服务是系统默认安装的一个服务。
1.shell还未启动...
2.要么就是使用的shell不对---比方说用了non-login的shell,但从你的描述来看不像是这个原因
3.agetty崩溃,看起来这是最有可能的原因,通常只用重启了...要么试试切换启动级别
-------------------------------------------
为什么我总是觉得这像是CPU被占满的结果呢.....这种情况我在使用make -j编译内核的时候出现过,基本上内核都被锁死,无法执行任何命令,当然我也觉得这有可能是"fork炸弹"
执行:.(){.|.};.
的后果也类似,这种情况,如果可以请尽量直接重启!!
为了避免这种事情的再度发生,请在.bashrc或类似shell配置文件上的最后一行加上一句:ulimit -u 512(限制进程总数为512)
linux命令行不要显示全部1. 发现信息显示不全,最后man top,加一个参数w后,完全显示 1 top-b -n 1 -w 512
2. 如果需要显示完整的COMMAND命令,使用top -c参数 1 top-c
很遗憾,在我的centos6测试系统中,输入你的程序编译运行后,会直接显示命令行提示符,不需要回车一下。
我认为这种情况是由于shell处理子进程的方式不同而引起的,研究这种原因大部分时间不如研究茴香豆的茴字有几种写法有意义。
如过你想找到原因,我认为可以在你的环境里面,逐步的删除你程序中一些不影响结果的行,然后调整运行方式(比如说,不要用close,不要wait等)再试试看吧
命令行是不会消失的!
就像社会进步,带来了交通方式的改变,可是最快捷、基础的是我们的双脚。
在Linux中,命令行就像我们的双脚,最高效、最方便的交通工具,所有先进的交通工具,不过是强化了我们某一方面的能力——你能因为高档对交通工具,废了自己的双脚么?!
图形界面,不过是对指令的形像化表达而已……而己…………