Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Añadir comillas dobles a las variables para prevenir globbing y dividir palabras #1

Open
r-gongar opened this issue Feb 25, 2021 · 0 comments

Comments

@r-gongar
Copy link

Sería añadir comillas a las variables:
$variable --> "$variable"
Esta es la explicación de esto:
https://github.com/koalaman/shellcheck/wiki/SC2086
Adjunto archivo corregido

PROG="$(basename $0)"

PROG="$(basename "$0")"


"$options"


"$MYCNF"

DATETIME=`getDateTime`

"$LOG_FILE"

echo "$DATETIME;$SSH_CLIENT;$1" >> $LOG_FILE

echo "$DATETIME;$SSH_CLIENT;$1" >> "$LOG_FILE"

echo "$DATETIME;$SSH_CLIENT;ERROR: $1" >> $LOG_FILE

echo "$DATETIME;$SSH_CLIENT;ERROR: $1" >> "$LOG_FILE"

cat << EOT > $MYCNF

cat << EOT > "$MYCNF"

OLDVERSION="$(echo ${file%.*} | cut -f3 -d-)"

OLDVERSION="$(echo "${file%.*}" | cut -f3 -d-)"

if [ -n "$FILES" -o "$OLDVERSION" = "$NEWVERSION" ] && [ -r $file ]; then

if [ -n "$FILES" -o "$OLDVERSION" = "$NEWVERSION" ] && [ -r "$file" ]; then

mysql --defaults-extra-file=$MYCNF -e "CREATE DATABASE $AUXCATALOG"

mysql --defaults-extra-file="$MYCNF" -e "CREATE DATABASE $AUXCATALOG"

mysql --defaults-extra-file=$MYCNF -D "$AUXCATALOG" < $MYSQLFILE &>/dev/null

mysql --defaults-extra-file="$MYCNF" -D "$AUXCATALOG" < $MYSQLFILE &>/dev/null

importSqlFile $DBDIR/$file

importSqlFile $DBDIR/"$file"

importSqlFile $DBDIR/$file

mysqldump --defaults-extra-file="$MYCNF" --opt $AUXCATALOG > $MYSQLFILE

mysql --defaults-extra-file=$MYCNF -e "DROP DATABASE $AUXCATALOG"

mysql --defaults-extra-file="$MYCNF" -e "DROP DATABASE $AUXCATALOG"

if [ ! -r $sqlfile ]; then

if [ ! -r "$sqlfile" ]; then

mysql --defaults-extra-file=$MYCNF --default-character-set=utf8 -D "$AUXCATALOG" < $sqlfile

mysql --defaults-extra-file="$MYCNF" --default-character-set=utf8 -D "$AUXCATALOG" < "$sqlfile"

echo $CONFIG | jq -r '.[] as $f | $f.comment + ": " + (if $f.detected then "OK" else "FAIL" end)' | column -ts:

echo "$CONFIG" | jq -r '.[] as $f | $f.comment + ": " + (if $f.detected then "OK" else "FAIL" end)' | column -ts:

if ! [ -r $BACKUPFILE ]; then

if ! [ -r "$BACKUPFILE" ]; then

echo "$PROG: ERROR: Sin acceso al fichero de backup." | tee -a $FILESAL

echo "$PROG: ERROR: Sin acceso al fichero de backup." | tee -a "$FILESAL"

echo "$PROG: ERROR: Sin acceso a la configuración de OpenGnsys." | tee -a $FILESAL

echo "$PROG: ERROR: Sin acceso a la configuración de OpenGnsys." | tee -a "$FILESAL"

checkArchive $BACKUPFILE

checkArchive "$BACKUPFILE"

tar -xvzf $BACKUPFILE --directory /tmp $TARPARAMS &>/dev/null

tar -xvzf "$BACKUPFILE" --directory /tmp $TARPARAMS &>/dev/null

if [ $OLDVERSION != $NEWVERSION ] ; then

if [ "$OLDVERSION" != "$NEWVERSION" ] ; then

if [ ! -r $MYCNF ]; then

if [ ! -r "$MYCNF" ]; then

chmod 600 $MYCNF

chmod 600 "$MYCNF"

cat << EOT > $MYCNF

cat << EOT > "$MYCNF"
mysqldump --defaults-extra-file=$MYCNF --opt $CATALOG > $MYSQLBCK

mysqldump --defaults-extra-file="$MYCNF" --opt $CATALOG > "$MYSQLBCK"

chmod 400 $MYSQLBCK

chmod 400 "$MYSQLBCK"

mysql --defaults-extra-file=$MYCNF -D "$CATALOG" < $MYSQLFILE &>/dev/null

mysql --defaults-extra-file="$MYCNF" -D "$CATALOG" < $MYSQLFILE &>/dev/null

mv /etc/default/opengnsys /etc/default/opengnsys-$DATE

mv /etc/default/opengnsys /etc/default/opengnsys-"$DATE"

mv $DHCPCFGDIR/dhcpd.conf $DHCPCFGDIR/dhcpd.conf-$DATE

mv $DHCPCFGDIR/dhcpd.conf $DHCPCFGDIR/dhcpd.conf-"$DATE"

sed ${BEFOREHOST}q $DHCPCFGDIR/dhcpd.conf-LAST > $DHCPCFGDIR/dhcpd.conf

sed "${BEFOREHOST}"q $DHCPCFGDIR/dhcpd.conf-LAST > $DHCPCFGDIR/dhcpd.conf

mkdir -p $OPENGNSYS/tftpboot/$BOOTLOADER-$DATE

mkdir -p $OPENGNSYS/tftpboot/$BOOTLOADER-"$DATE"

mv $OPENGNSYS/tftpboot/$BOOTLOADER/{01-*,templates,examples} $OPENGNSYS/tftpboot/$BOOTLOADER-$DATE 2>/dev/null

mv $OPENGNSYS/tftpboot/$BOOTLOADER/{01-*,templates,examples} $OPENGNSYS/tftpboot/$BOOTLOADER-"$DATE" 2>/dev/null

mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -e "update ordenadores set arranque='10' where arranque='01';" &>/dev/null

mysql --defaults-extra-file="$MYCNF" -D "$CATALOG" -e "update ordenadores set arranque='10' where arranque='01';" &>/dev/null

mv $OPENGNSYS/client/etc/engine.cfg $OPENGNSYS/client/etc/engine.cfg-$DATE

mv $OPENGNSYS/client/etc/engine.cfg $OPENGNSYS/client/etc/engine.cfg-"$DATE"

mv $OPENGNSYS/www/menus $OPENGNSYS/www/menus-$DATE

mv $OPENGNSYS/www/menus $OPENGNSYS/www/menus-"$DATE"

mkdir -p $OPENGNSYS/client/scripts/Custom-$DATE

mkdir -p $OPENGNSYS/client/scripts/Custom-"$DATE"

mv $OPENGNSYS/client/scripts/*Custom $OPENGNSYS/client/scripts/Custom-$DATE

mv $OPENGNSYS/client/scripts/*Custom $OPENGNSYS/client/scripts/Custom-"$DATE"

mv $OPENGNSYS/etc/ogliveinfo.json $OPENGNSYS/etc/ogliveinfo.json-$DATE

mv $OPENGNSYS/etc/ogliveinfo.json $OPENGNSYS/etc/ogliveinfo.json-"$DATE"

Un saludo, simplemente le he pasado el shellcheck

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant