Я не знаю, доступна ли правильная версия scp в MinGW, но вы можете использовать -3 вариант:
man scp
[...]
-3 Copies between two remote hosts are transferred through the local host. Without this option the data is copied directly between the two remote hosts. Note that this option disables the progress meter.
[...]
В bash нет endif
. Оператор if
заканчивается fi
. Кроме того, при использовании тестовой конструкции [ ]
вам нужен пробел вокруг [
. Оператор сопоставления регулярных выражений =~
требует специального [[ ]]
bash вместо POSIX [ ]
, и чтобы отменить совпадение, вы отрицаете весь тест ([[ ! foo ~ bar ]]
), вы не можете использовать !~
. Кроме того, для этого требуется регулярное выражение, а не глобус оболочки. Так что *
ничего не значит само по себе, вам нужно .*
для "любого символа". Затем формат для установки и экспорта переменной — export foo=bar
, а также у вас есть случайный ?
между $
и LD_LIBRARY_PATH
. Так что попробуй это:
if [ "1" == "$LD_LIBRARY_PATH" ]; then
if [[ ! "$LD_LIBRARY_PATH" =~.*/usr/local/iscir/lib.* ]]; then
export LD_LIBRARY_PATH="/usr/local/iscir/lib:$LD_LIBRARY_PATH"
fi
else
export LD_LIBRARY_PATH="/usr/local/iscir/lib"
fi
Это должно сработать, но все это не имеет смысла. Когда LD_LIBRARY_PATH
будет 1
? Я действительно не понимаю, как это когда-либо будет выполнено. Если все, что вы хотите сделать, это добавить /usr/local/iscir/lib
к LD_LIBRARY_PATH
, если его там еще нет, вам просто нужно это:
if [ -z "$LD_LIBRARY_PATH" ]; then
export LD_LIBRARY_PATH="/usr/local/iscir/lib"
elif [[ ! "$LD_LIBRARY_PATH" == */usr/local/iscir/lib* ]]; then
export LD_LIBRARY_PATH="/usr/local/iscir/lib:$LD_LIBRARY_PATH"
fi
Если вы хотите отредактировать:
[
требует места с обеих сторон, как и все другие команды =~
не является частью test
. Вместо этого вам нужна команда [[
.=
при установке значения экспорта (дважды)"1" == "$?LD_LIBRARY_PATH"
всегда будет ложным Если вы просто хотите расширить путь, если он еще не содержит расширения, вы можете использовать это вместо этого:
case "$LD_LIBRARY_PATH" in
*/usr/local/iscir/lib*);;
*)
export LD_LIBRARY_PATH=/usr/local/iscir/lib:"$LD_LIBRARY_PATH"
;;
esac