У меня была та же проблема, и на самом деле то, что помогло мне, было противоположностью того, что люди заявляют.
INstall Compiz с плагинами В составном UNCHECK обнаруживается частота кадров + непрямые полноэкранные окна. Дайте мне знать, если это поможет.
Правильное решение для вас зависит от того, что вы хотите:
Объединение скриптов с && будет выполнять только второй, если первый из них успешно завершится. Сочетание скриптов с || будет выполнять только второй если первый не сработает успешноЕсли вы хотите, чтобы вторая команда выполнялась после первого, независимо от того, успешно ли она завершается или нет, вы можете использовать либо ;, либо & wait:
bash script1.sh ;
bash script2.sh & wait
bash script3.sh
Правильное решение для вас зависит от того, что вы хотите:
Объединение скриптов с && будет выполнять только второй, если первый из них успешно завершится. Сочетание скриптов с || будет выполнять только второй если первый не сработает успешноЕсли вы хотите, чтобы вторая команда выполнялась после первого, независимо от того, успешно ли она завершается или нет, вы можете использовать либо ;, либо & wait:
bash script1.sh ;
bash script2.sh & wait
bash script3.sh
Правильное решение для вас зависит от того, что вы хотите:
Объединение скриптов с && будет выполнять только второй, если первый из них успешно завершится. Сочетание скриптов с || будет выполнять только второй если первый не сработает успешноЕсли вы хотите, чтобы вторая команда выполнялась после первого, независимо от того, успешно ли она завершается или нет, вы можете использовать либо ;, либо & wait:
bash script1.sh ;
bash script2.sh & wait
bash script3.sh
Вы можете попробовать найти сценарии
#!/bin/bash
. script1.sh
. script2.sh
. script3.sh
Если есть переменные, которые должны быть удалены после каждого скрипта, заключите его в круглые скобки, то есть
#!/bin/bash
(
. script1.sh
)
(
. script2.sh
)
(
. script3.sh
)
. Другая возможность для прямого вызова сценариев:
#!/bin/bash
./script1.sh
./script2.sh
./script3.sh
Если вы хотите, чтобы все фоновые процессы, порожденные скриптами, завершались, добавьте wait, чтобы дождаться их
, например
./script1.sh
wait
./script2.sh
Ваше текущее решение работает одновременно, поскольку bash открывает новую оболочку и выполняет это
Сделайте это так.
bash script1.sh && bash script2.sh && bash script3.sh
Или так:
bash script1.sh &&
bash script2.sh &&
bash script3.sh
Это обеспечит успешное выполнение предыдущего сценария, затем выполнится следующий скрипт.
Или используйте ; вместо того, нужно ли выполнять следующий скрипт отдельно от предыдущего скрипта, выйдете из успеха или не удались.
bash script1.sh ; bash script2.sh ; bash script3.sh
Добавьте set -e в начало всех скриптов. Когда эта опция включена, любая сбой команды приведет к сбою всего сценария, например, что произойдет, если команды будут разделены «& amp; & amp;». spec
«большинство сценариев берут входные данные из выходных файлов предыдущего», похоже на то, что означает make. Подумайте об этом.
Вы можете попробовать найти сценарии
#!/bin/bash
. script1.sh
. script2.sh
. script3.sh
Если есть переменные, которые должны быть удалены после каждого скрипта, заключите его в круглые скобки, то есть
#!/bin/bash
(
. script1.sh
)
(
. script2.sh
)
(
. script3.sh
)
. Другая возможность для прямого вызова сценариев:
#!/bin/bash
./script1.sh
./script2.sh
./script3.sh
Если вы хотите, чтобы все фоновые процессы, порожденные скриптами, завершались, добавьте wait, чтобы дождаться их
, например
./script1.sh
wait
./script2.sh
Ваше текущее решение работает одновременно, поскольку bash открывает новую оболочку и выполняет это
Добавьте set -e в начало всех скриптов. Когда эта опция включена, любая сбой команды приведет к сбою всего сценария, например, что произойдет, если команды будут разделены «& amp; & amp;». spec
«большинство сценариев берут входные данные из выходных файлов предыдущего», похоже на то, что означает make. Подумайте об этом.
Сделайте это так.
bash script1.sh && bash script2.sh && bash script3.sh
Или так:
bash script1.sh &&
bash script2.sh &&
bash script3.sh
Это обеспечит успешное выполнение предыдущего сценария, затем выполнится следующий скрипт.
Или используйте ; вместо того, нужно ли выполнять следующий скрипт отдельно от предыдущего скрипта, выйдете из успеха или не удались.
bash script1.sh ; bash script2.sh ; bash script3.sh
Вы можете попробовать найти сценарии
#!/bin/bash
. script1.sh
. script2.sh
. script3.sh
Если есть переменные, которые должны быть удалены после каждого скрипта, заключите его в круглые скобки, то есть
#!/bin/bash
(
. script1.sh
)
(
. script2.sh
)
(
. script3.sh
)
. Другая возможность для прямого вызова сценариев:
#!/bin/bash
./script1.sh
./script2.sh
./script3.sh
Если вы хотите, чтобы все фоновые процессы, порожденные скриптами, завершались, добавьте wait, чтобы дождаться их
, например
./script1.sh
wait
./script2.sh
Ваше текущее решение работает одновременно, поскольку bash открывает новую оболочку и выполняет это
Добавьте set -e в начало всех скриптов. Когда эта опция включена, любая сбой команды приведет к сбою всего сценария, например, что произойдет, если команды будут разделены «& amp; & amp;». spec
«большинство сценариев берут входные данные из выходных файлов предыдущего», похоже на то, что означает make. Подумайте об этом.
Сделайте это так.
bash script1.sh && bash script2.sh && bash script3.sh
Или так:
bash script1.sh &&
bash script2.sh &&
bash script3.sh
Это обеспечит успешное выполнение предыдущего сценария, затем выполнится следующий скрипт.
Или используйте ; вместо того, нужно ли выполнять следующий скрипт отдельно от предыдущего скрипта, выйдете из успеха или не удались.
bash script1.sh ; bash script2.sh ; bash script3.sh