Linux Shell脚本无法运行命令

Linux Shell脚本无法运行命令,linux,bash,shell,Linux,Bash,Shell,我有一个debian服务器,上面安装了来自google drive的驱动器——这些驱动器有时会被卸载,所以我编写了一个脚本来检查并重新装载卸载的驱动器 脚本将对照装入的目录中的文件进行检查,如果文件丢失,它将尝试重新装入驱动器 它将成功地检查所有装载,但只能重新装载“plexdrive”和“plexlib”,无法装载“decrypt” mounting命令没有问题,因为它在脚本之外工作正常 有关剧本: #!/bin/bash ## Small hack that makes this scrip

我有一个debian服务器,上面安装了来自google drive的驱动器——这些驱动器有时会被卸载,所以我编写了一个脚本来检查并重新装载卸载的驱动器

脚本将对照装入的目录中的文件进行检查,如果文件丢失,它将尝试重新装入驱动器

它将成功地检查所有装载,但只能重新装载“plexdrive”和“plexlib”,无法装载“decrypt”

mounting命令没有问题,因为它在脚本之外工作正常

有关剧本:

#!/bin/bash
## Small hack that makes this script work in cronjob
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home22/krealle/check.rclone.mount
## Logfile
LOGFILE=~/log/check-mounts.log
## Variables
Errors=0
## create $LOGFILE
if [ ! -f $LOGFILE ]; then
    touch $LOGFILE
    echo "INFO: Logfile created." >> $LOGFILE
fi
echo "" >> $LOGFILE
echo "$(date "+%d/%m/%Y %T")"  >> $LOGFILE
## Ultimate Check - Smaller log file!
if [[ -f /home22/krealle/mounts/plexdrive/plexdrive_mounted ]] && [[ -f /home22/krealle/mounts/plexdrive-decrypt/mounted ]] && [[ -f /home22/krealle/PlexMedia/PlexLib/mounted ]]; then
    echo "INFO: Errors found: $Errors - skipping individual checks." >> $LOGFILE
    exit
fi
## check plexdrive mount
if [[ -f /home22/krealle/mounts/plexdrive/plexdrive_mounted ]]; then
    echo "INFO: *Plexdrive* Mountcheck successful." >> $LOGFILE
else
    echo "ERROR: *Plexdrive* Drive not mounted remount in progress." >> $LOGFILE
    ## first unmount broken/busy remotes.
    fusermount -zu /home22/krealle/mounts/plexdrive

    ## Mount Plexdrive.
    screen -S  plexdrive.s: -d -m ./plexdrive -o allow_other -v 4 /home22/krealle/mounts/plexdrive

    if [[ -f /home22/krealle/mounts/plexdrive/plexdrive_mounted ]]; then
        echo "INFO: *Plexdrive* Remount successful." >> $LOGFILE
    else
        ((Errors++))
        echo "CRITICAL: *Plexdrive* Remount failed." >> $LOGFILE
    fi
fi
## check decrypt mount
if [[ -f /home22/krealle/mounts/plexdrive-decrypt/mounted ]]; then
    echo "INFO: *Plexdrive-Decrypt* Mountcheck successful." >> $LOGFILE
else
    echo "ERROR: *Plexdrive-Decrypt* Drive not mounted remount in progress." >> $LOGFILE
    ## first unmount broken/busy remotes.
    fusermount -zu /home22/krealle/mounts/plexdrive-decrypt

    ## Mount Plexdrive-decrypt.
    screen -S rclone.decrypt: -d -m rclone mount --read-only --allow-non-empty --allow-other --buffer-size 128M -v plexdrive2: /home22/krealle/mounts/plexdrive-decrypt

    if [[ -f /home22/krealle/mounts/plexdrive-decrypt/mounted ]]; then
        echo "INFO: *Plexdrive-Decrypt* Remount successful." >> $LOGFILE
    else
        ((Errors++))
        echo "CRITICAL: *Plexdrive-Decrypt* Remount failed." >> $LOGFILE
    fi
fi
## check plexlib mount
if [[ -f /home22/krealle/PlexMedia/PlexLib/mounted ]]; then
    echo "INFO: *PlexLib* Mountcheck successful." >> $LOGFILE
else
    echo "ERROR: *PlexLib* Drive not mounted remount in progress." >> $LOGFILE
    ## first unmount broken/busy remotes.
    fusermount -zu /home22/krealle/PlexMedia/PlexLib

    ## Mount PlexLib.
    unionfs-fuse -o cow,allow_other,direct_io,nonempty,auto_cache,sync_read /home22/krealle/PlexMedia/Local=RW:/home22/krealle/mounts/plexdrive-decrypt=RO /home22/krealle/PlexMedia/PlexLib

    if [[ -f /home22/krealle/PlexMedia/PlexLib/mounted ]]; then
        echo "INFO: *PlexLib* Remount successful." >> $LOGFILE
    else
        ((Errors++))
        echo "CRITICAL: *PlexLib* Remount failed." >> $LOGFILE
    fi
fi
echo "Total errors: $Errors " >> $LOGFILE

我的脚本基于找到的脚本

尝试使用-x调试脚本,以开始谢谢!那会很有用的!