El método más fácil para leer argumentos se puede describir de la siguiente manera;
Cada argumento es referenciado y analizado por $IFS
o internal file separator
actualmente definido. El carácter predeterminado es un espacio.
Por ejemplo, tome lo siguiente;#./script.sh arg1 arg2
La lista de argumentos en ese ejemplo es arg1 = $1
y arg2 = $2
, que se puede reescribir como arg1 arg2 = $@
.
Otra nota es el uso de una lista de registros, ¿con qué frecuencia cambia eso? Mi suposición es diaria. ¿Por qué no usar la salida del directorio como matriz de su ciclo iterativo? Por ejemplo;
for i in $(ls /path/to/logs); do
./workaround.sh $i;
done
O mejor aún, pase al uso de functions
en bash para eliminar el desorden.
function process_file()
{
# transfer file code/command
}
function iterate_dir()
{
local -a dir=($(ls $1))
for file in ${dir[@]}; do
process_file $file
done
}
iterate_dir /path/to/log/for
Si bien estas son meras sugerencias para mejorar su conocimiento de secuencias de comandos de shell, debo saber si hay un error que está recibiendo y también necesitaría conocer los detalles de cada código de secuencias de comandos y/o funcionalidad. Hacer uso del argumento -x
también ayuda a depurar secuencias de comandos.
Si simplemente está transfiriendo registros, es posible que desee eliminar todos los scripts y utilizar rsync
, rsyslog
o syslog
, ya que todos son mucho más adecuados para la tarea en cuestión.
Я застрял в похожей лодке, но со слиянием. Kodi не выходит для меня плавно, из-за чего я хотел отредактировать метод Quit () по умолчанию.
Вы нашли способ обновить его?