zoukankan      html  css  js  c++  java
  • linux定时任务内环境变量引起错误解决方法

    定时任务内环境变量和shell环境变量的区别

    shell环境变量PATH查询用echo $PATH命令

    [root@test /]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin shell   Linux环境变量

    定时任务内环境变量PATH查询是把echo $PATH的命令写入脚本,再把执行结果写入文本查询结果。

    定时任务默认内部环境变量为/usr/bin:/bin 

    可以看出定时任务内部环境变量PATH是不全的,只有/usr/bin:/bin。

    举个ifconfig命令的例子,查询命令路径的命令是which。

    [root@test /]# which ifconfig
    /sbin/ifconfig

    看到结果就知道,定时任务内环境变量PATH里并没有这个命令的路径。

    所以在脚本加入ifconfig命令后会报错。

    [root@test scripts]# tailf/server/scripts/log/ip.log
    /server/scripts/ip.sh: line 1: ifconfig:command not found 命令没有找到 

     

    如何解决这类问题?

    用which查询路径,给不在/usr/bin:/bin路径里的命令查询后加上路径。

    [root@test scripts]# vim ip.sh
    #!/bin/sh
    /sbin/ifconfig

    ​如果脚本命令多的话,需要重新修改定时任务内环境变量PATH。

    [root@test scripts]# vim ip.sh
    #!/bin/sh
    exportPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    ifconfig
  • 相关阅读:
    Layui 数据表格显示图片,鼠标滑过图片放大
    ModuleNotFoundError: No module named redis
    Layui 数据表格特定数据行变色
    Qt下QMainWindow内部QTableView不能自适应大小
    android-启动另外一个Activity
    sqlite获取表字段
    Apache下更改.htaccess文件名称
    QTableView的indexAt使用方法
    Qt分割线
    QTableView排序
  • 原文地址:https://www.cnblogs.com/hellhappy/p/6888872.html
Copyright © 2011-2022 走看看