`

如何在crontab中读到用户的环境变量参数

阅读更多

如何在crontab中读到用户的环境变量参数

大家都知道crontab是个好东东,可以定时执行一些任务,帮助你监控系统状况,帮助你每天重复的做一些机械的事情。但是crontab有一个坏毛病,就是它总是不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错

原先我用一个很傻的办法,就是在脚本中直接指定所有的环境变量参数,每次写脚本都要写好多好多PATH啦,LD_LIBRARY_PATH之类的环境变量参数

后来发现其实可以直接在脚本里先执行一下用户的profile文件,就OK了

如果是Linux环境下的脚本,脚本的头上用缺省的#!/bin/sh就可以了,
然后第一个部分先写这些:
. /etc/profile
. ~/.bash_profile
如果是Solaris环境下的脚本,脚本头上用#!/bin/ksh

然后第一个部分先写这些:
. /etc/profile



这样,crontab在执行脚本的时候,就能够读到用户的环境变量参数啦。。。一点儿小技巧而已 ^_^
 
附:
如果你是在cron里提交的,请注意:
不要假定c r o n知道所需要的特殊环境,它其实并不知道。所以你要保证在s h e l l脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。
如果c r o n不能运行相应的脚本,用户将会收到一个邮件说明其中的原因。
分享到:
评论

相关推荐

    Linux 100 道面试题及答案.docx

    知识点:PS1 是 Linux 中的一个环境变量,用于设置命令提示符的格式。 11. 在 bash 中,export 命令的作用是使在子 shell 中可以使用命令历史记录。 知识点:export 是 Linux 中的一个命令,用于将变量导出到子 ...

    常见linux笔试题-100道选择题-(答案见最后).doc

    11. 在/etc/skel目录下放置.bashrc文件,以便于新用户创建主目录时自动将这个文件复制到自己的目录下。 知识点:/etc/skel是一个Linux目录,用于存放新用户的默认文件。它可以存放.bashrc文件,以便于新用户创建主...

    shell命令与定时任务

    - **用户环境变量**:位于用户家目录下的`.bash_profile`文件中,仅适用于特定用户。 - **位置变量**:Bash 预先声明了 9 个位置变量 `$1` 至 `$9`,其中 `$0` 表示脚本名称本身。这些变量在运行脚本时可以通过...

    Linux国际认证中100道选择题.pdf

    5. `export`命令在bash中用于设置环境变量,使其对子进程可见。 6. 使用shadow口令系统时,`/etc/passwd`应具有读写权限,而`/etc/shadow`应只有root可读。 7. 删除用户并同时删除主目录的命令是`userdel -r`。 8. ...

    LINUX与UNIX SHELL编程指南 高清PDF

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    linux shell 编程教程

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    shell 编程指南pdf

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    LINUX与UNIX SHELL编程指南(很全)

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    经典Linux入门阶段测试题

    "cd"命令用于改变当前工作目录,"~"表示用户的家目录,而"$home"是其对应的环境变量。 8. 在Linux中,$!用于表示上一个后台执行的命令的PID。"PID"是进程标识符,可以用于管理后台进程。 9. 统计文件行数的命令是...

    Linux与unix shell编程指南

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    shell教程-30章,下了之后会让你大吃一惊,相当好

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    linux与unix shell 编程(下)

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    LINUX与UNIX SHELL编程指南.rar

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    Linux与unix shell编程指南1.rar

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

    LINUX与UNIX SHELL编程指南

    18.3.18 测试和设置环境变量 169 18.3.19 检测最后命令状态 170 18.3.20 增加和检测整数值 171 18.3.21 简单的安全登录脚本 172 18.3.22 elif用法 173 18.3.23 使用elif进行多条件检测 173 18.3.24 多文件位置检测 ...

Global site tag (gtag.js) - Google Analytics