La expresión $?
se evalúa como el código de salida del comando anterior.
&&
es un separador de comandos que ejecutará el segundo comando si y solo si el primer comando devuelve un código de salida de cero.
[
o test
es una herramienta de shell para realizar varias pruebas comparativas.
Debo señalar que ==
es la prueba incorrecta para usar aquí, ya que es para comparación de cadenas ; -eq
es la prueba de igualdad para comparación numérica .
Entonces:[ $? -eq 1 ] && return 0
mirará el código de salida del comando inmediatamente anterior y lo comparará con 1
. Si hay una coincidencia, el comando return 0
se ejecutará (evitando así lo que supongo que son comandos posteriores en la función en la que se encuentra esta prueba ).
La distinción entre el uso de ==
y -eq
es que [ 01 -eq 1 ]
es verdadero mientras que [ 01 == 1 ]
es falso.
Предполагается, что команда касания устанавливает фиксированное время.
вы можете использовать скрипт:
#!/bin/bash
# get current time
start=$(date +%s)
# or get time of the first file
start=$(stat -c %X "$1")
for file; do
touch -d @$start "$file"
# increment by 1 second
start=$((start + 1)
# or by 1 minute
start=$((start + 60)
done
Вызовите скрипт со списком файлов, которые вы хотите изменить.