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

相关文章
|
4月前
|
机器学习/深度学习 人工智能 算法
基于YOLO的中医舌苔自动识别系统 | 五类舌象精准检测【含完整数据+训练源码】
本项目以 YOLOv8 为核心检测引擎,实现了对中医舌象中五类舌苔特征的高效识别,构建了一个具有实用价值的中医智能辅助诊断系统原型。项目涵盖从数据准备、模型训练到推理部署的全流程,配套图形界面(可选),实现了开箱即用、模块清晰、易于复现的目标。
基于YOLO的中医舌苔自动识别系统 | 五类舌象精准检测【含完整数据+训练源码】
|
存储 缓存 NoSQL
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
Redis深度解析:部署模式、数据类型、存储模型与实战问题解决
|
JavaScript Java 测试技术
基于小程序的消防隐患在线举报系统+springboot+vue.js附带文章和源代码设计说明文档ppt
基于小程序的消防隐患在线举报系统+springboot+vue.js附带文章和源代码设计说明文档ppt
343 0
|
存储 负载均衡 网络协议
docker集群的详解以及超详细搭建
手拿把掐学会搭建docker集群
|
Linux 网络安全
实验:CentOS 7 编译安装最新版 OpenSSH 9.4p1
CentOS7 升级安装 OpenSSH 9.4p1 OpenSSL 3.0.10
2037 1
|
SQL otter 算法
使用过mysql的binlog吗?看看如何用binlog排查阿里开源项目otter的问题
使用过mysql的binlog吗?看看如何用binlog排查阿里开源项目otter的问题
331 0
使用过mysql的binlog吗?看看如何用binlog排查阿里开源项目otter的问题
|
关系型数据库 Linux 开发工具
centos 安装postgresql13 指定版本
centos 安装postgresql13 指定版本
748 0
|
Java
Java基本数据类型与运算符
一、基本数据类型 java是强类型语言,共有8种基本数据类型:4种整型、2种浮点型、char字符型和boolean型。 整型 类型 长度 取值范围 byte 1字节 -128~127 short 2字节 -32768-32767 int 4字节 -2^31-1~2^31-1 long 8字节 -2^63-1~2^63-1 整型的范围与运行java代码的机器无关,这一点和C、C++不同,保证了代码在不同的平台之间的可移植型。
2226 0

热门文章

最新文章