El tipo de archivo normalmente se determina con file. Sus manestados:
archivo: determina el tipo de archivo
Pero también puedes usar en cierta medida type. Compare los dos listados a continuación para:
script.pl, un script de Perl
not_a_script, un archivo vacío
Aquí hay uno para el guión:
$ ls
script.pl
$ file script.pl
script.pl: Perl script text executable
$ type script.pl
bash: type: script.pl: not found
$ type ./script.pl
./script.pl is ./script.pl
Y aquí hay uno para el archivo vacío:
$ ls not_a_script
not_a_script
$ file not_a_script
not_a_script: empty
$ type not_a_script
bash: type: not_a_script: not found
$ type ./not_a_script
bash: type: ./not_a_script: not found
Como puede ver, typepuede determinar si un archivo es ejecutable. ¿Es eso una "determinación del tipo de archivo" o no? Bueno ... de una manera diferente a lo que fileproporciona. La descripción de la typeconstrucción en el hombre de Bash es la siguiente:
escriba [-aftpP] nombre [nombre ...]
Sin opciones, indique cómo se interpretaría cada nombre si se usara como nombre de comando.
La respuesta correcta a la pregunta en el libro debería estar en mi opinión file, porque eso es lo que mandice, y de eso se trata pasar las pruebas. O en otras palabras, mi primera opción es file.