Bene, è goffo, ma potresti scrivere
sh -c 'firefox -remote "openurl(file://`pwd`/$1)"' - PeaTab
o
sh -c 'firefox -remote "openurl(file://$1/$2)"' - `pwd` PeaTab
Se lo farai su base regolare (senza molte variazioni), potresti volerlo inserire in uno script.
PS Potresti lasciare una delle barre dopo il file:perché pwdne fornirà una.
Modificare:
Come / perché funziona?
La shell interattiva che stai eseguendo (supponiamo che sia bashe si riferisca ad essa come tale, per chiarimento delle ambiguità) è quella che legge l'input della tua riga di comando e fa cose come il completamento automatico, e richiede che qualsiasi parola della riga di comando che i completamenti automatici devono apparire come un nome file o percorso. Ho avuto l'esperienza che può gestire
... $PWD/ScoTab
e
... `pwd`/ScoTab
ma no
... $(pwd)/ScoTab
Vai a capire. YMMV. In ogni caso, non può gestire
... "openurl(file://`pwd`/ScoTab
perché ciò non può essere interpretato come un nome file o nome percorso (a meno bashche non possa analizzare la "openurl(… chiamata, cosa che non può).
Il trucco è farlo eseguire il completamento automatico su un nome file isolato e quindi incollare i pezzi insieme. L'unico modo per impostare $1, $2ecc., Per la tua shell interattiva è digitare un comando come set foo baro set -- foo bar, e questo generalmente non viene fatto. Abbiamo bisogno di una shsulla riga di comando in modo che possiamo impostare il suo $1, $2e così via, mettendo i valori sulla sua linea di comando. Quindi usiamo il bashper eseguire il completamento automatico, che fornisce i parametri della riga di comando a sh, e quindi usiamo il shcomando
'firefox -remote "openurl(file://$1/$2)"'
interpretare $1e $2, quindi "incollare i pezzi insieme".
Il processo di scrittura di questo mi ha fatto realizzare un'altra opzione:
set `pwd` ScoTab(esegui il completamento automatico) Enter
seguito da
firefox -remote "openurl(file:/$1/$2)" Enter
Come ho indicato in precedenza, il primo comando sopra imposta i parametri posizionali ( $1e $2) per la shell interattiva ( bash) e la seconda riga li usa. Come ho già detto, le persone in genere non impostano i parametri posizionali della loro shell interattiva, ma non c'è nulla di sbagliato in questo - è semplicemente insolito. Va notato che $1e $2manterrà questi valori fino a quando non li ripristini o non ti disconnetti.
Dovresti essere in grado di combinare le due righe sopra in una:
set `pwd` ScoTab(esegui il completamento automatico) ;
firefox -remote "openurl(file:/$1/$2)" Enter