Выполнение псевдонимов по сценарию завершается неудачно, а выполнение ручного псевдонима выполняется без проблем [duplicate]

Как вы знаете, в корице есть сложное создание, то же самое, что и убунту-разработчики по единству. Это действительно правда, но не невозможно в бесплатном программном обеспечении. Любой может повторно использовать код и помещать его на другой язык или платформу. И это на самом деле сделано, но увеличивается, что самое сложное - не писать код и функциональные возможности. Трудная часть найдена, как быть совместимой с другими сеансами и программами, когда вы пытаетесь сделать похожие вещи и / или функциональность. Appmenu (глобальное меню) является примером того, что происходит. Дублировать модули, может вызвать конфликт и будет делать то же самое. Повторное использование текущего кода - самая разумная вещь, потому что, на мой взгляд, это также вклад в один и тот же дистрибутив (в этом случае ubuntu), но хорошо. В Appmenu требуется патч для некоторых подмножеств приложений, и этот патч является приватным для сеанса (единство).

В качестве другого примера недавно был переименован пакет, который был разработан ubuntu, но также использовался на других сеансах ubuntu, а также на других дистрибутивах. Теперь он называется unit-gtk-module и имеет патч, который будет активен только на сеансе единства, потому что это может вызвать проблемы с другими сеансами. Приложение также нуждается в патче демона настроек gnome для динамического вызова некоторых свойств gtk. Опять же, это происходит только для сеанса единства и не может быть изменено без создания дублирования патча и снова с конфликтами. Возможно и является лучшим, делитесь способами включения / выключения. Есть также механизмы для этого, но, видимо, не для всех людей и вещей ... Это история приложения, но это не начинается с единства или ubuntu (это был ubuntu, который поместил порядок в хак-хак). Это происходит по нескольким вещам и по нескольким местам, и, на мой взгляд, это позор.

https://github.com/lestcape/Global-AppMenu

0
задан 22 January 2018 в 09:13

6 ответов

Если вы используете сценарий оболочки «b» из сценария оболочки «a», все псевдонимы и переменные, установленные в сценарии «b», хороши только для этой оболочки, они не передаются обратно в сценарий оболочки «a».

1
ответ дан 22 May 2018 в 15:23
  • 1
    Хм, есть ли что-нибудь, чтобы обрабатывать или обойти это поведение и получить желаемое поведение? ... – pntshere 22 January 2018 в 10:03
  • 2
    Вы можете написать псевдонимы / переменные во временный файл (ы), а затем прочитать это. Я не знаю другого способа. – stumblebee 22 January 2018 в 10:41

Если вы используете сценарий оболочки «b» из сценария оболочки «a», все псевдонимы и переменные, установленные в сценарии «b», хороши только для этой оболочки, они не передаются обратно в сценарий оболочки «a».

1
ответ дан 17 July 2018 в 22:29

Если вы используете сценарий оболочки «b» из сценария оболочки «a», все псевдонимы и переменные, установленные в сценарии «b», хороши только для этой оболочки, они не передаются обратно в сценарий оболочки «a».

1
ответ дан 23 July 2018 в 23:08

Псевдонимы сделаны для интерактивного использования. В сценарии вы можете получить тот же результат (как вы получите от псевдонима), введя соответствующую команду в сам скрипт.

Если вы хотите использовать его несколько раз, вы можете создать функцию и вызовите его в скрипте.

Пример:

alias alidr='sudo lsblk -o model,name,size,fstype,label,mountpoint'

можно заменить в сценарии bash с помощью

function flidr {
 sudo lsblk -o model,name,size,fstype,label,mountpoint $*
}

и его можно вызвать в скрипт с

flidr

или для отображения только указанных дисков с параметрами

flidr /dev/sda /dev/sdb
1
ответ дан 22 May 2018 в 15:23

Псевдонимы сделаны для интерактивного использования. В сценарии вы можете получить тот же результат (как вы получите от псевдонима), введя соответствующую команду в сам скрипт.

Если вы хотите использовать его несколько раз, вы можете создать функцию и вызовите его в скрипте.

Пример:

alias alidr='sudo lsblk -o model,name,size,fstype,label,mountpoint'

можно заменить в сценарии bash с помощью

function flidr { sudo lsblk -o model,name,size,fstype,label,mountpoint $* }

и его можно вызвать в скрипт с

flidr

или для отображения только указанных дисков с параметрами

flidr /dev/sda /dev/sdb
1
ответ дан 17 July 2018 в 22:29

Псевдонимы сделаны для интерактивного использования. В сценарии вы можете получить тот же результат (как вы получите от псевдонима), введя соответствующую команду в сам скрипт.

Если вы хотите использовать его несколько раз, вы можете создать функцию и вызовите его в скрипте.

Пример:

alias alidr='sudo lsblk -o model,name,size,fstype,label,mountpoint'

можно заменить в сценарии bash с помощью

function flidr { sudo lsblk -o model,name,size,fstype,label,mountpoint $* }

и его можно вызвать в скрипт с

flidr

или для отображения только указанных дисков с параметрами

flidr /dev/sda /dev/sdb
1
ответ дан 23 July 2018 в 23:08

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

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