У меня есть два сценария, а именно variables.sh
и install.sh
. Когда я выполняю bash install.sh
, файл .config
создается неправильно. Строка export CC
не добавляет в нее переменную BUILD64
и пропускает "
в конце строки.
Фрагмент из variables.sh
:
INSTALL_DIR="/tmp/panda64"
TARGET="x86_64-panda-linux-gnu"
BUILD64="-m64"
CC="${TARGET}-gcc ${BUILD64}"
Фрагмент из install.sh
:
cat > "${INSTALL_DIR}/.config" << "EOF"
#!/usr/bin/env bash
EOF
echo "export INSTALL_DIR=\""${INSTALL_DIR}\""" >> "${INSTALL_DIR}/.config"
echo "export TARGET=\""${TARGET}\""" >> "${INSTALL_DIR}/.config"
echo "export BUILD64=\""${BUILD64}\""" >> "${INSTALL_DIR}/.config"
echo "export CC=\""${CC}\""" >> "${INSTALL_DIR}/.config"
source "${INSTALL_DIR}/.config"
Фрагмент из .config
#!/usr/bin/env bash
export INSTALL_DIR="/tmp/panda64"
export TARGET="x86_64-panda-linux-gnu"
export BUILD64="-m64"
export CC="x86_64-panda-linux-gnu-gcc
Я пытался использовать shellcheck
Программа, чтобы увидеть, где я иду не так. Но это также не указывает на мою ошибку. Буду признателен, если кто-нибудь укажет мне правильное направление.
попробуйте вместо этого
cat > "${INSTALL_DIR}/.config" << EOF
#!/usr/bin/env bash
export INSTALL_DIR="${INSTALL_DIR}"
export TARGET="${TARGET}"
export BUILD64="${BUILD64}"
export CC="${CC}"
EOF
source "${INSTALL_DIR}/.config"
, необходимо все еще получить переменное расширение в heredoc, но можно избавиться от питания заключения в кавычки.
попытайтесь запустить свои скрипты через explaination режим-x
bash -x install.sh
удара, который Это покажет возвращаемым значениям команд и содержанию переменных, которые выделятся, где Вы идете не так, как надо.
xdotool getactivewindow windowminimize
, никакая потребность знать число окна.. – Aurimas 26 October 2017 в 07:25