In realtà è possibile, forse è stato modificato di recente, --output
opzione è ciò di cui hai bisogno.
Nel tuo esempio:
ar x libclsr11.a --output tmp
La soluzione dipende dalla versione di ar
. Puoi usare ar --version
per visualizzare la versione di ar
sul tuo sistema.
Per ar / GNU binutils prima della versione 2.34:
Sfortunatamente, ar prima della versione 2.34 non fornisce un modo per specificare la directory in cui i file devono essere estratti. (Almeno non sono riuscito a trovarne uno.) Utilizza sempre la directory corrente. Tuttavia, esiste una soluzione semplice:passare alla directory di destinazione prima dell'estrazione e usa invece il percorso relativo all'archivio:
# cd ./tmp/
# ar x ../libclsr11.a
In questo modo dovresti ritrovarti con clsrcact.o, clsrcclu.o e clsrccss.o all'interno della directory ./tmp/.
Per ar / GNU binutils versione 2.34 o successiva:
La versione 2.34 di binutils ha introdotto il --output
per il ar
programma. (Vedi il registro delle modifiche.) Può essere utilizzato per specificare la directory in cui i contenuti devono essere estratti:
# ar x --output tmp libclsr11.a
In questo modo il contenuto dell'archivio atterrerà all'interno del tmp
directory senza dover utilizzare la soluzione alternativa per il precedente ar
versioni.