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

相关文章
|
安全 算法 搜索推荐
现代操作系统的设计与优化策略
本文深入探讨了现代操作系统在设计与优化方面的多种策略。通过分析系统架构、内核优化、用户界面设计以及安全性增强等关键方面,揭示了如何构建一个高效、稳定且安全的操作系统。同时,结合具体案例和实际应用场景,展示了这些策略在实践中的应用与成效。
377 1
|
监控 网络架构
掌握网络设计:子网划分详解
【4月更文挑战第22天】
1439 0
你的每份原创,都值得被保护!
你的每份原创,都值得被保护!
485 0
你的每份原创,都值得被保护!
|
新零售
《新零售之旅 数智化转型与行业实践》电子版地址
本书重点探讨数智时代新零售的发展路径与趋势。
143 0
《新零售之旅 数智化转型与行业实践》电子版地址
|
SQL 关系型数据库 MySQL
SELECT COUNT(*) 会造成全表扫描?回去等通知吧
网上有一种说法,针对无 where_clause 的 **COUNT(\*)**,MySQL 是有优化的,优化器会选择成本最小的辅助索引查询计数,其实反而性能最高,这种说法对不对呢 针对这个疑问,我首先去生产上找了一个千万级别的表使用 EXPLAIN 来查询了一下执行计划
655 0
|
SQL 存储 机器学习/深度学习
【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?
【数据仓库】什么是 Azure Synapse,它与 Azure Data Bricks 有何不同?
|
大数据
北京东城区:出台中小微企业风险补偿专项资金管理办法
北京东城区近期出台《东城区中小微企业风险补偿专项资金管理办法》