如何在启动脚本中设置系统变量

时间:2018-10-24 17:40:04

标签: bash systemd

我正在使用BeagleBone上的PWM输出控制8个伺服器。在启动时,PWM的名称是动态分配的,因此它们在启动时各不相同,因此要知道哪个引脚与哪个PWM匹配,我已经编写了此脚本:

    #!/bin/sh

    # match BeagleBone PWMCHIP{n} with available pwm controllers
    for i in $(/bin/ls /sys/class/pwm); do
        link=$(/bin/readlink /sys/class/pwm/$i)
        case "$link" in
            *48300100*) BBPWM0=$i;;
            *48300200*) BBPWM1=$i;;
            *48302200*) BBPWM2=$i;;
            *48304100*) BBPWM3=$i;;
            *48304200*) BBPWM4=$i;;
        esac
    done

    export BBPWM0
    export BBPWM1
    export BBPWM2
    export BBPWM3
    export BBPWM4

    echo "PWM0 = $BBPWM0" > /home/ormund/servo.log

    /home/ormund/servo-server

当我从命令行启动系统时,系统运行,伺服服务器侦听网络端口并响应远程命令而正确移动伺服器,但是如果我在启动时从systemd启动,它将失败,BBPWM0是一个空字符串,服务器无法启动。我在做什么错了?

0 个答案:

没有答案