Не удается получить подключаемый модуль для работы Vim с Vundle. Что я делаю неправильно?

Да, && - это условие. Задняя команда будет запущена только в том случае, если предыдущая вернет 0 (завершится без ошибки). С другой стороны, ваш скрипт не имеет этого элемента управления, поэтому, если, например, wget завершается ошибкой, он продолжит попытку разархивировать и ничего не переместить ..

Онлайнер для вашего скрипта:

wget http://something.com ; unzip something ; mv -f something /home/poney/
0
17.12.2018, 19:50
2 ответа

Если вы можете изменить сценарий, измените его так, чтобы он говорил

a=${a:-20181214}

Это заставит использовать ранее установленное значение aили 20181214, если $aпусто или переменная не установлена. Это стандартное расширение параметра .

Затем вы должны либо использовать

export a=20181212
./script.sh

или

a=20181212./script.sh

Последний из них избегает установки переменной в вызывающей среде и устанавливает ее только для среды сценария.

Если вы не можете изменить скрипт, то скрипт всегда будет переопределять ваше aзначение, что бы вы ни делали. В этом случае свяжитесь с человеком, который поддерживает сценарий, и объясните ситуацию. В худшем случае используйте копию сценария, которую вы можете модифицировать, предполагая, что сценарий не должен находиться в определенном месте.

2
28.01.2020, 04:07

Сценарий будет выполнен в другой оболочке. А команда export Aустанавливает переменную только для текущей оболочки. Вы можете экспортировать переменную поверх вашего скрипта, это не повлияет на остальную часть вашей среды. Например

~$ export A=a
~$ echo $A
a

если создать в той же оболочке скрипт test.sh

#!/bin/bash
export A=b
echo $A

Вывод будет 'b', но значение A в оболочке останется неизменным

1
28.01.2020, 04:07

Теги

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