Здравствуйте! Есть некий исполняймый файл, тот же самый bash к примеру. Я хочу запустить его с помощью функции runShellCommand(“bash /etc/wb-rules/script.sh”), но ничего не происходит. Может есть какие-то правила которые нужно перезапустить для работы?
Добрый день. Попробуйте так
runShellCommand('bash /etc/wb-rules/script.sh')
А так же проверьте правильность всего скрипта, возможно скрипт до runShellCommand просто не доходит
Не помогает.
Правила wirenboard
defineVirtualDevice(‘SomeAction’,{
title: “Some_action”,
cells: {
Stop: {
type: “switch”,
value: false
}
}
});
defineRule(“StopAction”, {
whenChanged:“SomeAction/Stop”,
then: function(newValue, devName, cellName){
if (newValue == true){
runShellCommand(“bash /etc/wb-rules/script.sh”);
}
}
});
Код script.sh
#!/bin/bash
echo “runShellCommand work!” >> text
- У вас в строке с runShellCommand использованы двойные ковычки, вместо рекомендованных вам ранее одинарных.
- В выражении defineVirtualDevice использованы вообще непонятные символы вместо ковычек (" ‘ ")
- В остальных предложениях также вместо двойных ковычек надо использовать одинарные.
- если “скопипастить” весь этот текст в веб интерфейсе в редакторе Rules - встроенный редактор при попытке сохранить сообщает об синтаксических ошибках.
- Я пробовал менять на одинарные и это не помогло.
- Текстовый редактор этого сайта почему-то отобразил одинарные кавычки апострофом.
- Это javascript разницы между одинарными и двойными кавычками нету.
- Если добавить в defineRule реакцию другой кнопки она работает, а runShellCommand нет.
Как устроена обертка runShellCommand?
- Создал правило new_test.js. Скопипастил в него ваш скрипт. Привел его в порядок:
defineVirtualDevice('SomeAction',{
title: 'Some_action',
cells: {
'Stop': {
type: 'switch',
value: 'false'
}
}
});
defineRule('StopAction', {
whenChanged:['SomeAction/Stop' ],
then: function(newValue, devName, cellName){
if (newValue == true){
runShellCommand('bash /etc/wb-rules/script.sh');
}
}
});
-
создал файл /etc/wb-rules/script.sh
-
Включил виртуальный свитч:
-
Обнаружил в корне файл text:
1 лайк