En realidad es posible, tal vez se modificó recientemente, --output
opción es lo que necesita.
En tu ejemplo:
ar x libclsr11.a --output tmp
La solución depende de la versión de ar
. Puedes usar ar --version
para mostrar la versión de ar
en su sistema.
Para ar/GNU binutils anteriores a la versión 2.34:
Desafortunadamente, ar antes de la versión 2.34 no proporciona una forma de especificar el directorio donde se extraerán los archivos. (Al menos no pude encontrar uno). Siempre usa el directorio actual. Sin embargo, existe una solución sencilla:cambie al directorio de destino antes de la extracción y use la ruta relativa al archivo en su lugar:
# cd ./tmp/
# ar x ../libclsr11.a
De esta forma deberías terminar con clsrcact.o, clsrcclu.o y clsrccss.o dentro del directorio ./tmp/.
Para ar/GNU binutils versión 2.34 o posterior:
La versión 2.34 de binutils introdujo el --output
para el ar
programa. (Consulte el registro de cambios). Se puede usar para especificar el directorio donde se extraerán los contenidos:
# ar x --output tmp libclsr11.a
De esa manera, el contenido del archivo aterrizará dentro del tmp
directorio sin tener que usar la solución alternativa para ar
anterior versiones.