Ottenere il percorso completo di un file con "readlink -f" NON funziona su OSX?


2

Su Linux (redhat / ubuntu / lo chiami), posso fare questo:

$readlink -f myfile.txt
/tmp/local/path/to/myfile.txt

Su OSX (yosemite):

$ readlink -f eclipse-projects.xml 
readlink: illegal option -- f

Qualcuno può dirmi cosa sta succedendo? Qual è l '"equivalente" di -fsu osx? (E perché la gente ama rendere le cose così incredibilmente incoerenti ?!)



OS X non è Linux. È Unix. ;) Puoi installare GNU coreutilsvia brewse vuoi.
Daniel B,

@DanielB Sì, ti sento ... ma comunque, una certa coerenza non fa male
Uno Due Tre

Questa è stata la risposta a lungo in un altro forum: come posso ottenere il comportamento del readlink di GNU -f su un Mac?
Thomas Dickey,

@ Daniel B Yup, e ancora più specificamente è molto simile (e basato su) BSD. Per l'OP, Apple ama in modo specifico rendere le cose incoerenti. Evitano attivamente gli standard del settore. Un buon esempio sono i loro SSD, che sono esattamente gli stessi di qualsiasi altro SSD ma hanno disposizioni di pin proprietarie e costano 4 volte di più. Sono abbastanza sicuro che gli SSD in stile 2011-2013 siano letteralmente connettori M.2 con lo slot di ritaglio spostato in una posizione diversa.
Layne Bernardo,

Risposte:


0
# Return the canonicalized path (works on OS-X like 'readlink -f' on Linux); . is $PWD
function realpath {
    [ "." = "${1}" ] && n=${PWD} || n=${1}; while nn=$( readlink -n "$n" ); do n=$nn; done; echo "$n"
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.