Как вызвать функцию внутри другой функции, но в другой оболочке

Вы можете попробовать другую версию Ubuntu ... Какую версию Ubuntu вы используете?

У меня есть одна видеокарта, которая прилично старая, и, видимо, единственный набор хороших драйверов работает в Ubuntu 8.04 или какой-то смешной старой версии. По общему признанию, я не вникнул в проблему, чтобы узнать, есть ли исправление, чтобы заставить их работать с текущей версией, но на данный момент я запускаю самый последний Ubuntu с плохой графикой, потому что я использую для этого драйверы по умолчанию .

Кроме того, не забудьте проверить память и температуру графического процессора, как было предложено juancarlospaco. Это может означать отказ оборудования / неисправность.

0
задан 2 January 2018 в 18:41

3 ответа

Это задание для отдельных файлов сценариев, а не для функций.

script1.sh:

#! /bin/bash
echo -e "$1"

script2.sh:

#! /bin/bash
echo "This is script2"
bash script1.sh "I use script1"
echo "I also need to print ${foo}"

И script.sh:

#! /bin/bash
foo=bar
export foo
sudo -Eu username bash script2.sh

Принуждение к использованию функций приведет к хакерскому, неподъемному решению. Не.

2
ответ дан 22 May 2018 в 15:48
  • 1
    Я знаю, что это грязно. Я просто не могу реорганизовать свои сценарии коллег (это просто пример, реальные сценарии более сложны). Я был бы признателен, если бы вы могли добавить реализацию функций к этому. – storm 2 January 2018 в 18:56
  • 2
    @storm, если это сложно, я бы рекомендовал еще сильнее: не делайте этого. Вещи, скорее всего, сломаются. Что вам нужно сделать, если вы не можете использовать рефакторинг для запуска определенных команд в function2 с помощью su или sudo. – muru 2 January 2018 в 19:01
  • 3
    Ладно, это справедливо, спасибо ... Я оставлю вопрос открытым, если у кого-то будет удобное решение. – storm 2 January 2018 в 19:09
  • 4
    @storm checkout declare -f function1, который даст вам объявление function1 в тексте многократного использования. Тогда вы, вероятно, можете сделать что-то вроде sudo -Eu username bash -c "$(declare -f function1 function2); function2" – muru 2 January 2018 в 19:13
  • 5
    (Я должен сказать: несколько текст многократного использования. Он сломается даже с небольшим сложным цитированием. [F1] может помочь с этим, но, э ...) – muru 2 January 2018 в 19:24

Это задание для отдельных файлов сценариев, а не для функций.

script1.sh:

#! /bin/bash echo -e "$1"

script2.sh:

#! /bin/bash echo "This is script2" bash script1.sh "I use script1" echo "I also need to print ${foo}"

И script.sh:

#! /bin/bash foo=bar export foo sudo -Eu username bash script2.sh

Принуждение к использованию функций приведет к хакерскому, неподъемному решению. Не.

2
ответ дан 18 July 2018 в 00:01

Это задание для отдельных файлов сценариев, а не для функций.

script1.sh:

#! /bin/bash echo -e "$1"

script2.sh:

#! /bin/bash echo "This is script2" bash script1.sh "I use script1" echo "I also need to print ${foo}"

И script.sh:

#! /bin/bash foo=bar export foo sudo -Eu username bash script2.sh

Принуждение к использованию функций приведет к хакерскому, неподъемному решению. Не.

2
ответ дан 24 July 2018 в 17:08

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

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