`
- 浏览:
508729 次
- 性别:
- 来自:
长沙
-
一、 编码问题(一般因文件在windows与linux间传输造成)
1、bad interpreter:No such file or directory
出现bad interpreter:No such file or directory的原因
是文件格式的问题。这个文件是在Windows下编写的。换行的方式与Unix不一样,但是在VI下面如果不Set一下又完全看不出来。
解决方法:
A、上传到linux主机运行
chmod +x back
./back
错误提示如下:
bash: ./back : bad interpreter:No such file or directory
B、错误分析:
因为操作系统是windows,在windows下编辑的脚本,所以有可能有不可见字符。
从你的脚本及报告的错误看来, 很有可能是你的脚本文件是DOS格式的, 即每一行的行尾以\r\n来标识, 其ASCII码分别是0×0D, 0×0A.
可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的
(1). vi filename
然后用命令
:set ff?
可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看.
(2). 用joe filename
如果是DOS格式的, 那么行尾会有很多绿色的^M字样出现. 你也可以用上述办法把它转为UNIX格式的.
(3). 用od -t x1 filename
如果你看到有0d 0a 这样的字符, 那么它是dos格式的, 如果只有0a而没有0d, 那么它是UNIX格式的, 同样可以用上述方法把它转为UNIX格式的.
转换不同平台的文本文件格式可以用
A. unix2dos或dos2unix这两个小程序来做. 很简单. 在djgpp中这两个程序的名字叫dtou和utod, u代表unix, d代表dos
B. 也可以用sed 这样的工具来做:
sed ’s/^M//’ filename > tmp_filename
mv -f tmp_filename filename
来做
特别说明:^M并不是按键shift + 6产生的^和字母M, 它是一个字符, 其ASCII是0×0D, 生成它的办法是先按CTRL+V, 然后再回车(或CTRL+M)
另外, 当SHELL程序报告command not found时, 总是去检查一下你的PATH里面有没有程序要用到的每一个命令(没指定绝对路径的那种). 你这么小的程序, 可以一行一行核对.
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
9. **异常处理**:在多线程环境中,异常处理需要格外注意,因为一个线程的异常可能会影响到其他线程的正常运行。 10. **《多线程编程指南》和《Linux多线程编程手册》**:这两本书是学习Linux多线程编程的重要参考...
首先,标题“挑战不可能的任务Linux运维故障锦集 211页”表明这是一本专门收录Linux运维过程中遇到的各类故障和解决方案的文档。Linux运维是一个专业领域,涉及到服务器的配置、维护、监控以及故障处理等多方面的...
在Linux系统中,用户通过命令行与系统交互,常见的命令包括ls(列出目录内容)、cd(切换目录)、mkdir(创建目录)、rm(删除文件或目录)等。学习Linux首先要熟悉这些基本命令的使用。 接着,深入学习Linux系统...
- Linux内核通过特定的处理流程来处理这类异常。 - **3.7 时钟中断** - 时钟中断是操作系统中最常见的中断之一,用于定时任务。 - 时钟中断是进程调度的基础,对于维持系统的实时性至关重要。 - **3.8 系统调用**...
在这个环境中,处理图像和数据编码转换是常见的任务之一。本主题聚焦于如何在Linux系统中实现图像与BASE64编码之间的互转,这对于在网络上传输图像数据或者存储在数据库中非常有用。我们将探讨涉及的技术、工具和...
### Linux操作系统及常见命令详解 #### 一、Linux操作系统概述 **Linux** 是一款免费且开源的操作系统,其设计初衷是作为一个高效的、稳定的、安全的系统。Linux 的诞生可以追溯到1991年,由芬兰程序员 **Linus ...
上下文切换是Linux系统中常见的性能问题,指的是CPU保存当前任务状态并恢复另一个任务状态的过程。过多的上下文切换会导致CPU资源的浪费。系统调用、进程状态转换、时间片耗尽、系统资源不足等情况都可能触发上下文...
当发生异常情况时,如除零错误或非法指令执行,Linux内核会调用相应的异常处理程序。这些处理程序负责记录异常信息并采取适当的措施,如终止进程或恢复执行。 #### 十二、硬件中断 硬件中断是指外部设备通过中断...
- **tftp服务器的配置**:用于通过网络传输文件,常见于启动过程中加载内核镜像。 - **工具使用**:如minicom,用于串口通信,方便调试。 #### 三、U-boot移植 **1. 工具介绍** - **armasm**:ARM汇编器。 - **...
理解其指令集架构(ISA)、寄存器布局、异常处理模型等,是进行ARM开发的基础。 2. 开发环境搭建:在Linux环境下,需要安装交叉编译工具链,如arm-linux-gnueabi-gcc,以在主机上编译运行于ARM目标板的代码。此外,...
在文件名"gprs232"中,"232"通常指的是RS-232,这是一种常见的串行通信接口标准。在实现GPRS上网时,我们可能需要编写一个程序,通过RS-232接口与GSM调制解调器建立连接,使用AT命令进行配置,并通过socket连接到...
在安装过程中,可能会遇到版本兼容性问题,因此推荐使用与Oracle软件版本相匹配的Oracle Linux版本和更新集(Update Set)。 总之,Oracle Linux依赖包是保证Oracle产品稳定运行的重要组成部分,它们提供了系统级别...
书中详细介绍了如何配置iptables等防火墙工具,以及如何根据实际需求调整规则集。 - **日志审计**:通过分析系统日志可以发现异常行为和潜在的入侵尝试。书中教授了如何设置和解读日志文件的方法。 ### 知识点二:...
了解如何在汇编代码中调用C函数,以及反之,是提高性能和解决特定问题的常见做法。 9. **链接与重定位**: 汇编程序需要经过链接器才能形成可执行文件。理解链接过程和重定位表对于调试和优化程序非常有用。 10. **...
"tar.gz"文件是一种常见的Linux归档格式,它结合了tar(用于打包多个文件和目录)和gzip(用于压缩数据)的功能,以减小文件大小,便于存储和传输。 JDK是开发和运行Java应用程序的基础,包含以下关键组件: 1. **...
总之,Dart 2.10 Linux SDK为Linux开发者提供了一个强大且高效的工具集,通过其丰富的语言特性和不断改进的工具,可以方便地构建高性能的应用程序。对于国内用户来说,尽管存在下载障碍,但通过社区提供的资源和替代...
GNU/Linux系统通常包含Linux内核、GNU工具集(如GCC编译器、GDB调试器)、GNOME或KDE桌面环境以及众多的开源应用程序。 二、编程语言选择 在GNU/Linux环境下,常见的编程语言包括C、C++、Python、Java、Perl、Ruby...
在Linux应用开发中,多线程和网络编程也是常见场景。线程可以实现并发执行,提高程序性能,而网络编程则涉及TCP/IP协议栈,如套接字编程,用于创建网络连接和交换数据。 最后,测试和调试是确保软件质量的重要环节...
5. **系统调用**:掌握Linux系统调用接口,如int 0x80或sysenter/sysexit,以及常见的系统调用号如open、read、write、close等,这些调用是与操作系统交互的关键。 6. **链接与装载**:了解汇编程序的编译、链接和...