Выполнение {управляет по сравнению с через сценарий удара} + произведенное перенаправление

Я не уверен, являются ли это одна или две проблемы здесь:

файл /usr/bin/line1

wine /home/aiao/.wine/drive_c/Program\ Files\ \(x86\)/LINE/Line.exe > /dev/null 2>&1

файл /usr/bin/line2

!#/usr/bin/bash
wine /home/aiao/.wine/drive_c/Program\ Files\ \(x86\)/LINE/Line.exe > /dev/null 2>&1

Сама винная команда хорошо работает, но когда я работаю /usr/bin/line1, Я добираюсь:

: ambiguous redirect1: 1

И когда я работаю /usr/bin/line2, Я добираюсь:

wine: bad interpreter: No such file or directory

Как может я команда выполнения через сценарий удара? Что продолжается здесь?

0
задан 10 August 2014 в 04:12

4 ответа

Для начинающих Вам нужна допустимая хижина. Ваш второй файл [почти 115] имеют один, но эти !# неправильный путь вокруг. Второй Вам нужен допустимый интерпретатор! Ни одна из моих систем не имеет /usr/bin/bash, это всего /bin/bash. Вы могли даже просто использовать /bin/sh. Это очень немного легче.

следующее должно работать:

#!/bin/sh
wine /home/aiao/.wine/drive_c/Program\ Files\ \(x86\)/LINE/Line.exe > /dev/null 2>&1
1
ответ дан 7 October 2019 в 09:35

В первом файле можно перенаправить вывод просто с помощью > /dev/null или &> /dev/null, который перенаправит stdout и stderr так никакая потребность в 2>&1.

Во втором файле, я полагаю, что корректный интерпретатор #!/bin/bash.

0
ответ дан 7 October 2019 в 09:35

дескрипторы файлов 1 и 2 (stdout & stderr), может быть закрыт вином, потому что это не использует их и может даже освободить 0 (stdin), как только это установило обработчик клавиатур. Также это было бы более справедливо к окнам, поскольку все дескрипторы файлов доступны, как это отчасти ожидает в новом экземпляре программы.

0
ответ дан 7 October 2019 в 09:35

В первую очередь: Вы используете Wine, который в этом случае, возможно, должен воссоздать что-то, что подражает среде выполнения командного процессора Windows (cmd.exe).

, Поскольку Вы не сказали, какой drive_c/Program\ Files\ \(x86\)/LINE/Line.exe, нет никакого способа сказать его требования.

Теперь : ambiguous redirect1: 1 взгляды как возможный вывод или от Вина или от cmd.exe.

май быть Вами должен гарантировать, что ТОЛЬКО ВИНО затронуто перенаправлениями стиля Linux. Вы, возможно, должны изучить то, что Вино ожидает, и как защитить/разделить его параметры от пойманных ударом и наоборот.

Вещи попробовать:
, Поскольку это работает от попытки командной строки удара source line2 для начинающих.

, Если это работает, возможно, попытка вариант как это - из сценария:

bash <<EOF
wine /home/aiao/.wine/drive_c/Program\ Files\ (x86)/LINE/Line.exe > /dev/null 2>&1
EOF

еще один...
start инструмент командной строки Windows, который применяет те же задачи как двойной щелчок по, например, ссылка или файл, так попытка:

wine start /home/aiao/.wine/drive_c/Program\ Files\ \(x86\)/LINE/Line.exe 

Примечание: БЕЗ перенаправления, если это работает для фактического имения прогона программы, то - если Вам все еще нужен он, Вы могли бы попытаться добавить >/dev/null 2>&1 (или безотносительно из других ответов) для Вина.

0
ответ дан 7 October 2019 в 09:35

Другие вопросы по тегам:

Похожие вопросы: