растут из линукса больше, чем из nodejs.
Я пытаюсь запустить системную команду через nodejs, возникает проблема парсинга на вопросительном знаке. Без него - работает.
const { exec } = require( 'child_process' );
async function start() {
const cmd2 = `xfce4-terminal -e 'zsh -c "echo \"https://www.youtube.com/watch?v=aaaaaa\"; zsh"'`;
const cmd2 = `xfce4-terminal -e 'bash -c "echo \"https://www.youtube.com/watch?v=aaaaaa\"; zsh"'`;
exec( cmd2 );
}
start();
Вторая строчка с башем - работает, а первая с zsh - нет. Не подскажите что может быть проблемного в смеси zsh и вопросительным знаком?
Хотя... или ноги из nodejs растут. Да фиг знает, в терминале (xfce4-terminal) работают обе команды, мистика какая-то, но в случае с nodejs, баш интерпретирует оттуда почему-то иначе, в отличии от zsh
>возникает проблема парсинга на вопросительном знаке. Без него - работает. https://t.me/nodejs_ru
Попробуй посмотреть там: https://www.google.com/search?q=nodejs%2C+%D0%B2%D0%BE%D0%B7%D0%BD%D0%B8%D0%BA%D0%B0%D0%B5%D1%82+%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0+%D0%BF%D0%B0%D1%80%D1%81%D0%B8%D0%BD%D0%B3%D0%B0+%D0%BD%D0%B0+%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC+%D0%B7%D0%BD%D0%B0%D0%BA%D0%B5
А зачем этот ужас с передачей url в stdin шелла (который должен был бы догадаться, что с ним делать) вместо нормального xdg-open? Мои ставки - zsh не догадывается. Без ноды эта команда работает?
Без ноды конечно обе команды работают, там же просто вывод строки в открывшийся терминал Плюс, без вопросительного знака - также обе работают и в ноде А цель всего этого действа - хотел терминал открыть с музыкой через mpv :)
Попробуй \? Сделать
Я бы поставил вопрос боком: а нужна тут нода? И сразу же ещё один: а нужно ли тут дёргать оболочку? Готов спорить что у ноды есть более удачные инструменты, чем спавнить оболлчку, в ней запускать нужную оболочку, и уже оттуда запускать mpv
Хз что именно имеется ввиду под "терминалом с музыкой", но флаг -e спокойно может запускать mpv напрямую, без этих странных костылей. И вообще это задача для скрипта оболочки, а не для ноды
Бэкслэш съедается нодовской интэрполяцыей строки в backticks.
Обсуждают сегодня