Ας πούμε ότι έχουμε ένα αρχείο που λέγεται
-arxeio me paula sthn arxh
ωραία αν προσπαθήσουμε να βάλουμε απλά χαρακτήρες διαφυγής όπως "\" ( escape character πχ backslash )
θα αποτύχουμε παταγωδός
και στης περιπτώσεις τον εντολών θα πάρουμε στην έξοδο συμβουλές για την χρήση της εκάστοτε εντολη πρίν το αρχείο (Usage: ....)
Τι κάνουμε;
Απλά
βάζουμε πρίν από την πάυλα (dash) δύο παύλες και μετά κενό και το όνομα του αρχείου και όλα καλά
:-)
π.χ
ls -la -- -arxeio me paula sthn arxh
Παράδειγμα με άλλον χαρακτήρα και κενά:
Ας πούμε ότι έχουμε ένα αρχειο που το έχει όνομα
%- _ - OMG
θα πρέπει να το γράψουμε έτσι
-- %-\ _\ -\ \ OMG
αλλά μην ανησυχείτε το bash shell έχει autocompletion (αυτοσημπλήρωση) και βοηθάει ;)
Τι συμβάινει τώρα με το bash shell και συμβαίνει αυτό
απλά όταν το κέλυφος πάρει μια πάυλα στην περιμένει να βάλει κανείς arguements για του προγράμματος που προηγήθηκε και τα ορίσματα έχουνν προταιρεότητα από τα ονόματα των αρχείων που δεν τειρούν τις προϋποθέσεις σωστής ονοματολογίας... όταν πατάμε tab tab για αυτοσημπλήρωση
βλέπουμε στις περισσότερες εντολές που πέρνουν ορίσματα με 2 πάυλες (POSIX) μας σημπληρώνει τα πιθανά ορίσματα που προσφέρει η εάστοτε εντολή . Αν τώρα η εντολη δεν έχει όρισμα με 2 πάυλες όπως η file τότε μόνο μας σημπληρώνει αυτόματα το όνομα του αρχείου αλλά χωρίς τις 2 extra παύλες που χρειαζόμαστε .. οπότε απλά της προσθέτουμε :-)
Για τους περισσότερους ειδικούς χαρακτήρες φτάνει το \
πχ για το $
http://disqus.com/comments/
ReplyDelete