Impossibile aprire un file in testo sublime usando bashrc


3

La mia funzione bash_profile ha il seguente aspetto:

function st() { /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /Users/ishan/workspace/nltk_engine/index.py;}

Tuttavia, quando scrivo nel terminale, si apre semplicemente una finestra di testo sublime senza aprire il file. Ho copiato la linea nel terminale e sta funzionando. Non funziona tramite bash_profile.


1
Quale versione di Sublime Text usi? Ho provato con la versione 2.0.2 e ha funzionato come previsto: potrei aprire un file python usando una funzione come la tua da cui provengo .bash_profile. Qual è l'output di type st? Come commento a parte, aggiungi funzioni a .bashrc invece, poiché le funzioni non vengono esportate nell'ambiente.
jaume

Risposte:


1

Il st funzione che funziona quando si digita st è un vecchio che hai definito interattivamente all'interno Terminal. Se inserisci:

type st

vedrai che questa definizione non è quella che hai inserito nel tuo .bash_profile.

Per eseguire la definizione inserita nel tuo .bash_profile, devi caricarlo nella tua shell effettiva:

. ~/.bash_profile

o

source ~/.bash_profile

E sarai in grado di verificare che da ora in poi la tua definizione del tuo st la funzione è corretta con:

type st

Finalmente sono riuscito a farlo funzionare. L'errore è stato che c'era anche un alias "st" nel mio .bashrc. Questo stava creando il problema. L'ho trovato emettendo il comando "tipo". Grazie :). Potresti anche dirmi quali cose dovrei inserire nel mio file bash_profile e quali cose dovrei inserire in bashrc?
Ishan Jain

1
@ishanJain I commenti dovrebbero essere usati per chiedere chiarimenti sulla risposta data e cose simili. Chiedere domande di follow-up nei commenti non funziona così bene, è meglio farlo fai una nuova domanda in questi casi. Nel tuo caso potrebbe anche aiutare a cercare tra vecchie domande qui, avanti stackoverflow.com e via unix.stackexchange.com perché è molto probabile che questo argomento sia già apparso in precedenza.
nohillside

→ Ishan: buona domanda, ma ti preghiamo di seguire il commento di Patrix. Aiuterai tutti ... e te stesso: una risposta più mirata.
daniel Azuelos

0

Dal momento che il tuo comando è un comando statico, puoi provare un alias:

alias st="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /Users/ishan/workspace/nltk_engine/index.py"

Questo non sarà statico. Stavo solo provando usando un esempio statico.
Ishan Jain
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.