Ubuntu 定时任务中的环境变量设置

背景

  1,定时任务命令 crontab -e

  2,默认的环境变量

SHELL=/bin/sh
PATH=/usr/bin:/bin
PWD=/home/owl
LANG=zh_CN.UTF-8
SHLVL=1
HOME=/home/owl
LANGUAGE=zh_CN:zh
LOGNAME=owl
_=/usr/bin/env

解决方法

  一、使用绝对路径;

  二、手动设置环境变量

    在shell文件开头    

PATH=/...
export PATH

  三、批量设置环境变量

   1,在shell文件中执行2

   2,使用source指令执行shell文件

遇到的问题

  问题:在crontab定时执行的shell文件中无法执行source指令

  分析:在命令行中执行该shell文件正常,推测环境变量问题。

  解决:1,尝试在运行source指令前,修改PATH环境变量,无效。

    原因是,source是bash指令,其执行不依赖环境变量,只取决于shell的执行器。

    2,修改SHELL环境变量为/bin/bash,执行成功。

总结

  shell的执行器有bash、sh等

  在shell的开头通过 #!/bin/sh或 #!/bin/bash 注明该shell的执行器。

  手动执行方式 sh+shell文件 或bash+shell文件

转载于:https://www.cnblogs.com/the-owl/p/5889810.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值