Securing some variable calls with quoting.
Minor cleaning.
This commit is contained in:
mag37
2023-02-02 13:17:15 +01:00
committed by GitHub
parent 72a4ab889c
commit 8ae13837f1

View File

@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
### VERSION v.0.1.1 ### VERSION v.0.1.3
### Help Function: ### Help Function:
Help() { Help() {
@@ -21,7 +21,7 @@ while getopts "aynh" options; do
done done
shift "$((OPTIND-1))" shift "$((OPTIND-1))"
### Set $1 to a variable for later ### Set $1 to a variable for name filtering later.
SearchName="$1" SearchName="$1"
### Check if required binary exists in PATH or directory: ### Check if required binary exists in PATH or directory:
@@ -70,15 +70,14 @@ done
choosecontainers() { choosecontainers() {
while [[ "$ChoiceClean" =~ [A-Za-z] || -z "$ChoiceClean" ]]; do while [[ "$ChoiceClean" =~ [A-Za-z] || -z "$ChoiceClean" ]]; do
printf "What containers do you like to update? \n" printf "What containers do you like to update? \n"
# options
read -p 'Enter number(s) separated by comma (eg. 1,3,4): ' Choice read -p 'Enter number(s) separated by comma (eg. 1,3,4): ' Choice
if [ "$Choice" == "0" ] ; then if [ "$Choice" == "0" ] ; then
SelectedUpdates=( ${NumberedUpdates[@]:1} ) SelectedUpdates=( "${NumberedUpdates[@]:1}" )
ChoiceClean=$(echo $Choice|sed 's/[,.:;]/ /g') ChoiceClean=$(echo "$Choice" |sed 's/[,.:;]/ /g')
else else
ChoiceClean=$(echo $Choice|sed 's/[,.:;]/ /g') ChoiceClean=$(echo "$Choice" |sed 's/[,.:;]/ /g')
for s in $ChoiceClean; do for s in "$ChoiceClean"; do
SelectedUpdates+=( ${NumberedUpdates[$s]} ) SelectedUpdates+=( "${NumberedUpdates[$s]}" )
done done
fi fi
done done
@@ -92,7 +91,7 @@ for i in $(docker ps --filter "name=$SearchName" --format '{{.Names}}') ; do
RepoUrl=$(docker inspect "$i" --format='{{.Config.Image}}') RepoUrl=$(docker inspect "$i" --format='{{.Config.Image}}')
LocalHash=$(docker image inspect "$RepoUrl" --format '{{.RepoDigests}}') LocalHash=$(docker image inspect "$RepoUrl" --format '{{.RepoDigests}}')
RegHash=$($regbin image digest --list "$RepoUrl" 2>/dev/null) RegHash=$($regbin image digest --list "$RepoUrl" 2>/dev/null)
# Check if regtcl produces errors - add to GotErrors if so. # Add container to GotErrors if regctl encounter problems.
if [ $? -eq 0 ] ; then if [ $? -eq 0 ] ; then
if [[ "$LocalHash" = *"$RegHash"* ]] ; then NoUpdates+=("$i"); else GotUpdates+=("$i"); fi if [[ "$LocalHash" = *"$RegHash"* ]] ; then NoUpdates+=("$i"); else GotUpdates+=("$i"); fi
else else