Я пытаюсь запустить скрипт bash от другого с помощью sudo.
Вот мой первый скрипт test.sh
#!/bin/bash
echo "test.sh" $1 $2 $3 >>/home/pi/test.log
sudo ./temp.sh "$1" "$2" "$3" >>/home/pi/test.log &
echo "test.sh done!" >>/home/pi/test.log
Когда я бегу
./test.sh a b c
в моей консоли это работает. Второй скрипт запускается с аргументами! Но когда первый скрипт запускается из других инструментов (плагин Deluge Execute), второй скрипт никогда не запускается. Похоже, проблема с разрешениями.
Обновление: я переименовываю второй скрипт в temp.sh, и он делает эхо во втором файле
#!/bin/bash
torrentid=$1
torrentname=$2
torrentpath=$3
echo " Details: " $torrentid $torrentpath $torrentname >> /home/pi/temp.log
Он работает при запуске из командной строки, но не Deluge.
Обновление 2: Второй скрипт - это добровольный запуск во второй оболочке /env с &, потому что он будет выполнять длительное действие. Я делаю это потому, что когда скрипт запускается и выполняется с помощью плагина deluge, deluge замораживается во время выполнения. Поэтому мне нужен скрипт, который запускает второй в фоновом режиме.
Обновление 3: мой пользователь pi как уже pi ALL=(ALL) NOPASSWD: ALL
в файле visudo