`

Shell 技巧 | 解决方案

 
阅读更多

     1) 在/etc/profile里创建了环境变量,发现在指定用户下创建的cronjob运行期不能找到对应的环境变量的值(例如$PATH),在crontab下发现默认$PATH=/bin:/usr/bin。如调用的程序不在上述路径,则程序会报错:xxx not found.

        上述解决的方案,最好的解决方法是在xxx.sh中第一行这样写:  #!/bin/bash -l

这样就是以登录方式执行shell script,你可以通过 man bash来查看是否支持 -l 这个参数。

 

        为什么不用程序的绝对路径呢? 因为deploy一个脚本到多个主机,这样都指定绝对路径相当繁琐而且难维护。

 

      如果不支持-l这个参数呢? 你可以: crontab -e,然后添加一行,如下:

PATH=/your/path1:/your/path2:... 或在你的脚本中添加一行: source /etc/profile

 

   2)shell script执行中,常常有部分命令有 异常代码和异常信息 返回。我们需要捕获这些异常,示例代码如下:

 

result=$(${mysqlpath} --skip-column-names -h"$1" -D"xxxx" -u$CONFIG_DBUSER -p$CONFIG_DBPASSWORD  -e"$checking_sql" >"$log_output_file" 2>&1)            
        if [ "$?"  -ne 0 ]; then                                                                                                                                 
            result=`cat"${log_output_file}"`                                                                                                                    
            errMsg="Error occurred while checking zzz on ${1},msg=${result}"                                                                                                                                             
            echo -e "$errMsg" | mail -s "$errMsg" "${EMAIL_TO}"                                              
        fi

 

 

3)shell script 调试,参考: http://www.ibm.com/developerworks/cn/linux/l-cn-shell-debug/index.html

 

0
0
分享到:
评论

相关推荐

    高级shell编程 第五部分 高级shell编程技巧(共5部分)

    通过学习以上内容,你将能够提升你的shell编程技能,更好地利用Linux系统进行自动化操作,无论是日常维护、故障排查还是开发复杂的系统解决方案。shell编程的深度和广度使其成为IT专业人士的必备工具,而深入理解和...

    shell-学习.rar

    10. **案例分析**:可能包含一些实际问题的解决方案,展示如何使用Shell脚本来自动化日常任务。 通过学习这个压缩包,用户不仅可以掌握Shell的基本操作,还能了解如何编写更复杂的脚本,提高在Ubuntu环境下工作的...

    ICS lab9 shell lab

    这个实验被描述为“比较简单”,适合初学者,同时也提供了满分参考,意味着它提供了一个完整的解决方案供学习者参考。 Shell脚本是用Shell语言编写的程序,这种语言通常包括命令行指令、控制结构(如循环和条件语句...

    Shell脚本实现二维码图片生成

    在旧有的系统中,如果没有源码可供修改,这样的脚本可以作为一个灵活的解决方案,帮助系统实现二维码打印功能。 首先,我们需要理解二维码的基本原理。二维码(Quick Response Code)是一种二维条形码,能够存储更...

    Linux_Shell_Scripting_Cookbook英文版

    它旨在提供一系列的解决方案来处理各种常见的Shell脚本问题,并通过食谱式的方式使读者能够快速找到并应用这些解决方案。此外,本书的结构和内容安排应该有助于读者有效地学习和提高自己的Shell脚本编程技能。

    linux Shell 编程实例书一本

    Linux Shell编程是Linux系统管理与自动化任务的核心技术之一。Shell脚本可以理解为Linux环境下...此外,还可以参考其他开源社区和论坛,如Stack Overflow、Unix & Linux Stack Exchange,获取更多实用技巧和解决方案。

    实验一shell实验报告

    实验一的焦点在于熟悉Linux操作系统的基本命令和Shell编程。Shell编程是Linux系统中的一种...这些技能对于任何IT专业人员来说都是至关重要的,无论是在日常的系统管理还是在开发复杂的自动化解决方案中,都会大有用处。

    shell脚本编写和源码

    "存储网络容灾备份方案设计解决方.txt"可能涵盖更广泛的话题,如灾难恢复计划,它不仅包含备份,还可能讨论在主系统故障时如何快速恢复服务,这通常需要对网络架构和存储解决方案有深入理解。 "Linux上tomcat的安装...

    shell 学习资料

    学习更高级的Shell技巧,如命令别名、函数、数组、陷阱(trap)和进程控制,可以帮助你更好地定制Shell环境。例如,定义命令别名可以简化常用命令的输入,如`alias ll='ls -l'`。而进程控制(如bg、fg、jobs)则能...

    Shell脚本编程.pdf

    Shell脚本编程主要涉及到Linux操作系统中的...无论是简单的文件操作还是复杂的任务流程,Shell脚本都能提供强大而灵活的解决方案。在实际工作中,不断实践和积累经验,将使你更加熟练地运用Shell编程来解决各种问题。

    Mastering UNIX Shell Scripting.pdf

    - **备份解决方案:** 开发一套完整的备份方案,包括定期备份数据、压缩归档、恢复功能等。 - **日志分析工具:** 创建一个日志分析工具,用于解析和统计服务器日志文件,帮助进行性能优化或安全审计。 通过阅读...

    Mastering UNIX Shell Scripting_Sencond Edition_2008

    - **内容组织**:每一章节均以一个日常UNIX挑战为起点,逐步展示如何将基本语法转换为实际的shell脚本解决方案。 - **实用案例**:书中不仅提供了完整的shell脚本示例,还附带了对每个部分的详尽解释,帮助读者理解...

    Linux shell 参考文档 杂七杂八留下的代码

    文档中的"杂七杂八留下的代码"可能涵盖了日常工作中遇到的各种问题的解决方案,对于学习和提升Linux技能非常有帮助。 在Linux Shell中,用户可以执行系统级操作,如文件管理、进程控制、网络配置等。例如,`ls`命令...

    python编写shell脚本

    ### Python 编写 Shell 脚本:详细解析与实践 ...无论是简单的文件操作还是复杂的系统管理任务,Python 都能提供有效的解决方案。因此,在实际工作中,合理地利用 Python 作为 Shell 脚本语言,可以显著提升工作效率。

    shell脚本编程

    Shell脚本编程是Unix/Linux操作系统中一种强大的自动化工具,它允许用户通过编写一系列命令来执行复杂的任务,从而提高工作效率。...无论是管理系统、备份数据还是执行数据分析,Shell脚本都能提供强大的解决方案。

    Mastering Unix shell programming

    通过《掌握Unix Shell编程》这本书的学习,你可以全面掌握Shell编程技巧,无论是进行日常的系统管理还是开发复杂的自动化解决方案,都将游刃有余。无论你是Unix新手还是经验丰富的系统管理员,都能从中受益匪浅,...

    shell script语言教程

    **解决方案:** 1. 使用`ls -l`命令列出当前目录下的所有文件及其属性。 2. 使用管道`|`将输出传递给`grep`命令,过滤出普通文件(`-`表示普通文件)。 3. 使用`wc -l`命令计算过滤后的行数。 **命令示例:** ```...

    Shell设计入门_by_卧龙小三_2002.zip

    通过学习这个教程,你可以了解到如何利用Shell的强大功能来提高工作效率,实现自动化任务,甚至构建复杂的系统管理解决方案。无论你是系统管理员、开发人员还是普通用户,熟悉Shell都是提升你在Unix/Linux环境中操作...

Global site tag (gtag.js) - Google Analytics