Skip to content

Commit b04b744

Browse files
authored
Merge pull request #37 from damacus/fix-broken-bracket
Fix ] in the if statement on line 64
2 parents 3120a7e + 70eb9b3 commit b04b744

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

install.sh

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
#!/bin/bash
2-
LIBRARY_NAME=`grep -m 1 name pyproject.toml | awk -F" = " '{print substr($2,2,length($2)-2)}'`
2+
LIBRARY_NAME=$(grep -m 1 name pyproject.toml | awk -F" = " '{print substr($2,2,length($2)-2)}')
33
MODULE_NAME="grow"
44
CONFIG_FILE=config.txt
55
CONFIG_DIR="/boot/firmware"
6-
DATESTAMP=`date "+%Y-%m-%d-%H-%M-%S"`
6+
DATESTAMP=$(date "+%Y-%m-%d-%H-%M-%S")
77
CONFIG_BACKUP=false
88
APT_HAS_UPDATED=false
99
RESOURCES_TOP_DIR=$HOME/Pimoroni
1010
VENV_BASH_SNIPPET=$RESOURCES_DIR/auto_venv.sh
1111
VENV_DIR=$HOME/.virtualenvs/pimoroni
12-
WD=`pwd`
12+
WD=$(pwd)
1313
USAGE="./install.sh (--unstable)"
1414
POSITIONAL_ARGS=()
1515
FORCE=false
@@ -18,7 +18,7 @@ PYTHON="python"
1818

1919

2020
user_check() {
21-
if [ $(id -u) -eq 0 ]; then
21+
if [ "$(id -u)" -eq 0 ]; then
2222
printf "Script should not be run as root. Try './install.sh'\n"
2323
exit 1
2424
fi
@@ -61,7 +61,7 @@ warning() {
6161
find_config() {
6262
if [ ! -f "$CONFIG_DIR/$CONFIG_FILE" ]; then
6363
CONFIG_DIR="/boot"
64-
if [ ! -f "$CONFIG_DIR/$CONFIG_FILE"]; then
64+
if [ ! -f "$CONFIG_DIR/$CONFIG_FILE" ]; then
6565
warning "Could not find $CONFIG_FILE!"
6666
exit 1
6767
fi
@@ -75,8 +75,8 @@ find_config() {
7575
}
7676

7777
venv_bash_snippet() {
78-
if [ ! -f $VENV_BASH_SNIPPET ]; then
79-
cat << EOF > $VENV_BASH_SNIPPET
78+
if [ ! -f "$VENV_BASH_SNIPPET" ]; then
79+
cat << EOF > "$VENV_BASH_SNIPPET"
8080
# Add `source $RESOURCES_DIR/auto_venv.sh` to your ~/.bashrc to activate
8181
# the Pimoroni virtual environment automagically!
8282
VENV_DIR="$VENV_DIR"
@@ -92,21 +92,21 @@ EOF
9292
}
9393

9494
venv_check() {
95-
PYTHON_BIN=`which $PYTHON`
95+
PYTHON_BIN=$(which "$PYTHON")
9696
if [[ $VIRTUAL_ENV == "" ]] || [[ $PYTHON_BIN != $VIRTUAL_ENV* ]]; then
9797
printf "This script should be run in a virtual Python environment.\n"
9898
if confirm "Would you like us to create one for you?"; then
99-
if [ ! -f $VENV_DIR/bin/activate ]; then
99+
if [ ! -f "$VENV_DIR/bin/activate" ]; then
100100
inform "Creating virtual Python environment in $VENV_DIR, please wait...\n"
101-
mkdir -p $VENV_DIR
102-
/usr/bin/python3 -m venv $VENV_DIR --system-site-packages
101+
mkdir -p "$VENV_DIR"
102+
/usr/bin/python3 -m venv "$VENV_DIR" --system-site-packages
103103
venv_bash_snippet
104104
else
105105
inform "Found existing virtual Python environment in $VENV_DIR\n"
106106
fi
107107
inform "Activating virtual Python environment in $VENV_DIR..."
108108
inform "source $VENV_DIR/bin/activate\n"
109-
source $VENV_DIR/bin/activate
109+
source "$VENV_DIR/bin/activate"
110110

111111
else
112112
exit 1
@@ -119,11 +119,11 @@ function do_config_backup {
119119
CONFIG_BACKUP=true
120120
FILENAME="config.preinstall-$LIBRARY_NAME-$DATESTAMP.txt"
121121
inform "Backing up $CONFIG_DIR/$CONFIG_FILE to $CONFIG_DIR/$FILENAME\n"
122-
sudo cp $CONFIG_DIR/$CONFIG_FILE $CONFIG_DIR/$FILENAME
123-
mkdir -p $RESOURCES_TOP_DIR/config-backups/
124-
cp $CONFIG_DIR/$CONFIG_FILE $RESOURCES_TOP_DIR/config-backups/$FILENAME
122+
sudo cp "$CONFIG_DIR/$CONFIG_FILE $CONFIG_DIR/$FILENAME"
123+
mkdir -p "$RESOURCES_TOP_DIR/config-backups/"
124+
cp $CONFIG_DIR/$CONFIG_FILE "$RESOURCES_TOP_DIR/config-backups/$FILENAME"
125125
if [ -f "$UNINSTALLER" ]; then
126-
echo "cp $RESOURCES_TOP_DIR/config-backups/$FILENAME $CONFIG_DIR/$CONFIG_FILE" >> $UNINSTALLER
126+
echo "cp $RESOURCES_TOP_DIR/config-backups/$FILENAME $CONFIG_DIR/$CONFIG_FILE" >> "$UNINSTALLER"
127127
fi
128128
fi
129129
}
@@ -134,8 +134,8 @@ function apt_pkg_install {
134134
for ((i = 0; i < ${#PACKAGES_IN[@]}; i++)); do
135135
PACKAGE="${PACKAGES_IN[$i]}"
136136
if [ "$PACKAGE" == "" ]; then continue; fi
137-
printf "Checking for $PACKAGE\n"
138-
dpkg -L $PACKAGE > /dev/null 2>&1
137+
printf "Checking for %s\n" "$PACKAGE"
138+
dpkg -L "$PACKAGE" > /dev/null 2>&1
139139
if [ "$?" == "1" ]; then
140140
PACKAGES+=("$PACKAGE")
141141
fi
@@ -149,7 +149,7 @@ function apt_pkg_install {
149149
fi
150150
sudo apt install -y $PACKAGES
151151
if [ -f "$UNINSTALLER" ]; then
152-
echo "apt uninstall -y $PACKAGES" >> $UNINSTALLER
152+
echo "apt uninstall -y $PACKAGES" >> "$UNINSTALLER"
153153
fi
154154
fi
155155
}
@@ -176,8 +176,8 @@ while [[ $# -gt 0 ]]; do
176176
;;
177177
*)
178178
if [[ $1 == -* ]]; then
179-
printf "Unrecognised option: $1\n";
180-
printf "Usage: $USAGE\n";
179+
printf "Unrecognised option: %s\n" "$1";
180+
printf "Usage: %s\n" "$USAGE";
181181
exit 1
182182
fi
183183
POSITIONAL_ARGS+=("$1")
@@ -188,14 +188,14 @@ done
188188
user_check
189189
venv_check
190190

191-
if [ ! -f `which $PYTHON` ]; then
192-
printf "Python path $PYTHON not found!\n"
191+
if [ ! -f "$(which $PYTHON)" ]; then
192+
printf "Python path %s not found!\n" "$PYTHON"
193193
exit 1
194194
fi
195195

196-
PYTHON_VER=`$PYTHON --version`
196+
PYTHON_VER=$($PYTHON --version)
197197

198-
printf "$LIBRARY_NAME Python Library: Installer\n\n"
198+
printf "%s Python Library: Installer\n\n" $LIBRARY_NAME
199199

200200
inform "Checking Dependencies. Please wait..."
201201

@@ -221,21 +221,21 @@ if [ $? -ne 0 ]; then
221221
exit 1
222222
fi
223223
224-
eval $CONFIG_VARS
224+
eval "$CONFIG_VARS"
225225
226226
RESOURCES_DIR=$RESOURCES_TOP_DIR/$LIBRARY_NAME
227227
UNINSTALLER=$RESOURCES_DIR/uninstall.sh
228228
229-
RES_DIR_OWNER=`stat -c "%U" $RESOURCES_TOP_DIR`
229+
RES_DIR_OWNER=$(stat -c "%U" "$RESOURCES_TOP_DIR")
230230
231231
if [[ "$RES_DIR_OWNER" == "root" ]]; then
232232
warning "\n\nFixing $RESOURCES_TOP_DIR permissions!\n\n"
233-
sudo chown -R $USER:$USER $RESOURCES_TOP_DIR
233+
sudo chown -R "$USER:$USER" "$RESOURCES_TOP_DIR"
234234
fi
235235
236-
mkdir -p $RESOURCES_DIR
236+
mkdir -p "$RESOURCES_DIR"
237237
238-
cat << EOF > $UNINSTALLER
238+
cat << EOF > "$UNINSTALLER"
239239
printf "It's recommended you run these steps manually.\n"
240240
printf "If you want to run the full script, open it in\n"
241241
printf "an editor and remove 'exit 1' from below.\n"
@@ -254,14 +254,14 @@ apt_pkg_install "${APT_PACKAGES[@]}"
254254
if $UNSTABLE; then
255255
pip_pkg_install .
256256
else
257-
pip_pkg_install $LIBRARY_NAME
257+
pip_pkg_install "$LIBRARY_NAME"
258258
fi
259259
if [ $? -eq 0 ]; then
260260
success "Done!\n"
261-
echo "$PYTHON -m pip uninstall $LIBRARY_NAME" >> $UNINSTALLER
261+
echo "$PYTHON -m pip uninstall $LIBRARY_NAME" >> "$UNINSTALLER"
262262
fi
263263
264-
cd $WD
264+
cd "$WD" || exit 1
265265
266266
find_config
267267
@@ -271,7 +271,7 @@ for ((i = 0; i < ${#SETUP_CMDS[@]}; i++)); do
271271
if [[ "$CMD" == *"raspi-config"* ]] || [[ "$CMD" == *"$CONFIG_DIR/$CONFIG_FILE"* ]] || [[ "$CMD" == *"\$CONFIG_DIR/\$CONFIG_FILE"* ]]; then
272272
do_config_backup
273273
fi
274-
eval $CMD
274+
eval "$CMD"
275275
done
276276
277277
for ((i = 0; i < ${#CONFIG_TXT[@]}; i++)); do
@@ -281,16 +281,16 @@ for ((i = 0; i < ${#CONFIG_TXT[@]}; i++)); do
281281
inform "Adding $CONFIG_LINE to $CONFIG_DIR/$CONFIG_FILE\n"
282282
sudo sed -i "s/^#$CONFIG_LINE/$CONFIG_LINE/" $CONFIG_DIR/$CONFIG_FILE
283283
if ! grep -q "^$CONFIG_LINE" $CONFIG_DIR/$CONFIG_FILE; then
284-
printf "$CONFIG_LINE\n" | sudo tee --append $CONFIG_DIR/$CONFIG_FILE
284+
printf "%s\n" "$CONFIG_LINE" | sudo tee --append $CONFIG_DIR/$CONFIG_FILE
285285
fi
286286
fi
287287
done
288288
289289
if [ -d "examples" ]; then
290290
if confirm "Would you like to copy examples to $RESOURCES_DIR?"; then
291291
inform "Copying examples to $RESOURCES_DIR"
292-
cp -r examples/ $RESOURCES_DIR
293-
echo "rm -r $RESOURCES_DIR" >> $UNINSTALLER
292+
cp -r examples/ "$RESOURCES_DIR"
293+
echo "rm -r $RESOURCES_DIR" >> "$UNINSTALLER"
294294
success "Done!"
295295
fi
296296
fi
@@ -300,7 +300,7 @@ printf "\n"
300300
if confirm "Would you like to generate documentation?"; then
301301
pip_pkg_install pdoc
302302
printf "Generating documentation.\n"
303-
$PYTHON -m pdoc $MODULE_NAME -o $RESOURCES_DIR/docs > /dev/null
303+
$PYTHON -m pdoc $MODULE_NAME -o "$RESOURCES_DIR/docs" > /dev/null
304304
if [ $? -eq 0 ]; then
305305
inform "Documentation saved to $RESOURCES_DIR/docs"
306306
success "Done!"

0 commit comments

Comments
 (0)