Эта команда работает в терминале, но не в сценарии оболочки

У меня есть команда, которую я хотел бы выполнить из сценария оболочки:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam

Эта команда необходима для выполнения Пара правильно в моей системе. Если я пытаюсь выполнить Пар без этой команды, значок появляется на средстве запуска, затем исчезает снова, оставляя просто процесс, который я должен закончить в системном мониторе.

Если я вырезал и вставил ту команду непосредственно в терминал, она работает отлично. Пар открывается и работает просто великолепно, и терминал находится, там в фоновом режиме давая вывод, пока Пар не закрывается снова.

Если я пытаюсь выполнить ту команду из сценария оболочки, она больше не работает. То же проблематичное поведение обнаруживается.

Интересно, если я вхожу в терминал и тип ./Steam.sh - который является названием моего сценария - Пар открывается правильно.

Steam.sh расположен в моей домашней папке, и я выполняю все команды от своей домашней папки в терминале, и я дал, выполняют разрешение к Steam.sh. Я также попытался добавить & в конец команды в сценарии оболочки, но это не помогло.

Какая-либо идея, почему эта команда работает по-другому в зависимости от того, запускается ли она из сценария оболочки или от терминала? Я думал, что сценарии оболочки, как предполагалось, были в основном тем же самым как рабочими командами от терминала.

2
задан 15 January 2017 в 12:56

1 ответ

Поскольку Терминальный интерпретатор по умолчанию Dash, где Вы запускаете скрипт в Bash. Bash вещи функций, что Dash не делает.

Так или иначе можно зафиксировать Пар как это:

Перед рабочим Паром:

ln -sf /usr/lib/libstdc++.so.6.0.20 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6

После рабочего Пара:

rm $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
rm $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
1
ответ дан 2 December 2019 в 04:51

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

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