Shell脚本常见问题|学习笔记

简介: 快速学习Shell脚本常见问题

开发者学堂课程【Shell 脚本进阶:Shell脚本常见问题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/799


Shell脚本常见问题


目录:

一、特殊字符问题

二、环境变量问题

三、如何排查问题

一、特殊字符问题

1不同操作系统脚本传输

2.从富文本复制代码

问题:在Windows系统中编辑的shell脚本,拷贝到Linux系统中,发现在每行的末尾会出现^M字符。

解决:使用dos2unix或sed直接替换

问题:脚本中存在一些不可打印的特殊字符 ,执行时会出现报错。

解决:使用cat -A直接查看并删除特殊字符;或od查看特殊字符的十六进制后sed替换

二、环境变量问题

Shell脚本在console中运行正常,通过计划任务的方式运行会出现异常。

通常,这种问题是环境变量导致的。crontab 不会缺省的从用户profile文件中读取环境变量参数。

解决:

(1)脚本中的命令(如java )使用绝对路径,这样就不需要依赖于环境变量

(2)在脚本的开头先加载环境变量

/etc/profile

~/ .bash_ _profile

三、如何排查问题

1、代码走读

(1)确定代码逻辑

(2)检查语法错误

(3)考虑异常处理

2、语法检测

(1)bash -n script.sh

3、跟踪运行

(1)bash -x script.sh

相关文章
|
SQL 分布式计算 大数据
电商项目之 DWD 用户启动日志表 Shell 脚本编写|学习笔记
快速学习电商项目之 DWD 用户启动日志表 Shell 脚本编写
97 0
电商项目之 DWD 用户启动日志表 Shell 脚本编写|学习笔记
|
关系型数据库 MySQL 大数据
电商项目之 Sqoop 的 Shell 脚本编写|学习笔记
快速学习电商项目之 Sqoop 的 Shell 脚本编写
206 0
电商项目之 Sqoop 的 Shell 脚本编写|学习笔记
|
运维 Java Shell
shell脚本回顾及find文件查找基本用法| 学习笔记
快速学习shell脚本回顾及find文件查找基本用法
299 0
|
Shell Linux 开发工具
shell 脚本编程及位置变量详解|学习笔记
快速学习 shell 脚本编程及位置变量详解
108 0
|
Java Shell 开发者
Shell复杂脚本实战|学习笔记
快速学习Shell复杂脚本实战
130 0
Shell复杂脚本实战|学习笔记
|
数据建模 Shell Linux
shell 脚本与或费逻辑判断及磁盘管理实战 |学习笔记
快速学习 shell 脚本与或费逻辑判断及磁盘管理实战
85 0
shell 脚本与或费逻辑判断及磁盘管理实战 |学习笔记
|
运维 Java Shell
Shell 脚本编程基础|学习笔记
快速学习 Shell 脚本编程基础.
114 0
|
Java Shell 开发者
Shell脚本规范|学习笔记
快速学习Shell脚本规范
Shell脚本规范|学习笔记
|
Shell Linux 数据库
Shell脚本单实例运行|学习笔记
快速学习Shell脚本单实例运行
Shell脚本单实例运行|学习笔记
|
网络协议 Shell Linux
Shell脚本数组与字符串处理|学习笔记
快速学习Shell脚本数组与字符串处理
131 0
Shell脚本数组与字符串处理|学习笔记