bash - por - Eliminar barra inclinada desde el final de una variable
operacionalizacion de variables pdf (4)
la finalización automática de bash hace una / al final de un directorio ¿cómo puedo quitar esto?
Gracias por sugerencias.
#!/bin/sh
target=$1
function backup(){
date=`date "+%y%m%d_%H%M%S"`
PWD=`pwd`
path=$PWD/$target
tar czf /tmp/$date$target.tar.gz $path
}
backup
Creo que una mejor solución para canonizar rutas es realpath $path
o con la opción -m
si no existe. Esta solución elimina automáticamente las barras innecesarias y agrega pwd
Tenga cuidado, bash3 agregó perl-similar regex a bash. La guía mencionada cubre esto y la guía oficial de GNU , pero no todas las referencias lo hacen.
¿Qué hice?
Sustituir 2.19/*
por 2.19
.
Solución
VER="2.19/foo-bar"
NEWVER=${VER%/*}
Usar target=${1%/}
Vea esto la sustitución de parámetros de esta guía de scripts bash para más.