Come cd al percorso restituito da quale?


0

Sono curioso di sapere come potrei essere in grado di cambiare directory nella directory restituita da which. Speravo in una linea semplice come, which whatimlookingfor | cdma stampa solo la mia directory attuale. Nel prompt dei comandi di Windows, c'è un modo rapido per farlo?

Risposte:


0

Dovrai usare dirname per ottenere la directory della cosa che stai cercando con la quale.

cd `dirname \`which whatimlookingfor\``

Nota l'uso di backtick anziché di virgolette o qualcos'altro.

Su Windows, dove potresti non avere accesso a bash tramite cygwin o MSys, puoi usare powershell anziché cmd.exe per ottenere lo stesso risultato.

La sostituzione in PowerShell avviene tramite il $( )tuo comando, quindi potrebbe apparire simile al seguente:

cd $(dirname $(which whatimlookingfor))

Supponendo che tu abbia il nome binario disponibile anche nel percorso.


Ho provato questo ed è vicino. Qualcosa di cui mi sono dimenticato whichè che contiene anche il file nel percorso. Quindi se chiamo which xcopyottengo C:\Windows\system32\xcopy.EXE. Come posso rimuovere il file e avere solo il percorso?
Corey Ogburn,

Il tuo ritorno da cui indica che stai utilizzando Windows. Non sono troppo sicuro degli operatori di backtick nidificati in Cygwin o simili, quindi potresti dover investigare che se quanto sopra non funziona. Sopra funziona benissimo per me da bash shell su Linux.
ssnobody,

Non credo che i backtick siano di alcun aiuto su Windows ... Potrei aver bisogno di un'altra domanda.
Corey Ogburn,
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.