2012-03-12 14 views
8

All'interno del mio indice di Linux, ho un file chiamato TopSample$Config.class. Ogni volta che provo a copiare questo file in un'altra posizione/directory, non mi permette di farlo.

sto facendo in questo modo:

cp TopSample$Config.class /home/praveen/com/config/ 

Si prega di farmi sapere se questo non è possibile.

+0

Citazione del $: 'TopSample \ $ etc', o' 'TopSample $ etc''. Ed evitare di utilizzare nomi di file con dollarsigns, spazi, e, |,> ecc su linux. – alexis

+3

@alexis: compilatori Java creare questi file senza chiedere per essa. Inoltre, tutti gli strumenti dovrebbero essere in grado di gestire personaggi divertenti nei nomi dei file. –

+0

Vedo. Gli strumenti possono certamente gestirli, i principianti della linea di comando sono un'altra storia. – alexis

risposta

20

La shell interpreterà $Config come variabile. E si espanderà a stringa vuota.
È possibile inserire virgolette singole intorno a mantenere il valore letterale:

cp 'TopSample$Config.class' /home/praveen/com/config/ 

Un altro modo è quello di sfuggire alla (simbolo del dollaro) $ utilizzando \ (backslash)

cp TopSample\$Config.class /home/praveen/com/config/ 
2

Mettere apici intorno al nome del file.

cp 'TopSample$Config.class' /home/praveen/com/config 
+0

La ringrazio molto. – Pawan

0

oppure sostituire il carattere incriminato con il nome del file metacarattere di "?", che significa "qualsiasi carattere". Si noti che mentre questo potrebbe essere più conveniente e richiede le sequenze di tasti minor numero, essere consapevoli che un nome di file di TopSample?Config.class sarà anche corrispondere TopSampleaConfig.class, TopSamplebConfig.class, TopSamplecConfig.class, ecc

Problemi correlati