mariakal Δημοσ. 24 Μαρτίου 2010 Share Δημοσ. 24 Μαρτίου 2010 Έχω τα τρία shell scripts που επισυνάπτω, τα οποία τα έχω ¨τρέξει¨ σε windows με virtual box. Προφανώς είναι σε binary μορφή. Μου ζητά όμως ο καθηγητής να τα μετατρέψω σε ascii μορφή χρησιμοποιώντας κάποιον editor και να του τα ξαναστείλω γιατί δεν μπορεί να τα κάνει compile Ίσως να είναι πολύ ...χαζό το ερώτημά μου, αλλά έχω βραχυκυκλώσει. Πώς μπορώ να το κάνω αυτό? 2.1.txt 2.2.txt 2.3.txt 1.txt Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
giso Δημοσ. 24 Μαρτίου 2010 Share Δημοσ. 24 Μαρτίου 2010 Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mariakal Δημοσ. 24 Μαρτίου 2010 Μέλος Share Δημοσ. 24 Μαρτίου 2010 ποιο λογισμικό ειναι αυτό? Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gtroza Δημοσ. 24 Μαρτίου 2010 Share Δημοσ. 24 Μαρτίου 2010 ποιο λογισμικό ειναι αυτό? openoffice.org ανοίγουν με text editor στο Linux είναι ήδη απλά αρχεία κειμένου γραμμένα σε windows περιβάλλον, ( λόγω CR & LF ) . Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gtroza Δημοσ. 25 Μαρτίου 2010 Share Δημοσ. 25 Μαρτίου 2010 Έχω τα τρία shell scripts που επισυνάπτω, τα οποία τα έχω ¨τρέξει¨ σε windows με virtual box. Προφανώς είναι σε binary μορφή. Μου ζητά όμως ο καθηγητής να τα μετατρέψω σε ascii μορφή χρησιμοποιόντας κάποιον editor? Ίσως να είναι πολύ ...χαζό το ερώτημά μου, αλλά έχω βραχυκυκλώσει. το txt είναι ascii μορφή shell scripts σημαίνει εντολές κατανοητές απ' το shell αλλά και απ'τον χρήστη άνοιξέ τα στα win με notepad, πρέπει να διαβάζονται στο linux οι γνωστοί editors που να είναι εύχρηστοι είναι: gedit geany medit kate και άλλοι . ---------- Προσθήκη 25-03-2010 στις 01:12 ---------- Προηγούμενο μήνυμα 24-03-2010 στις 23:19 ---------- στο ποστ του giso φαίνεται τι είναι τα αρχεία δες αυτά τα σχετικά http://en.wikipedia.org/wiki/ASCII http://en.wikipedia.org/wiki/Byte_order_mark While UTF-8 does not have byte order issues, a BOM encoded in UTF-8 may nonetheless be encountered. A UTF-8 BOM is explicitly allowed by the Unicode standard[2], but is not recommended[3], as it only identifies a file as UTF-8 and does not state anything about byte order.[4] Many Windows programs (including Windows Notepad) add BOMs to UTF-8 files by default. However in Unix-like systems (which make heavy use of text files for file formats as well as for inter-process communication) this practice is not recommended, as it will interfere with correct processing of important codes such as the shebang at the start of an interpreted script.[5] It may also interfere with source for programming languages that don't recognise it. For example, gcc reports stray characters at the beginning of a source file, and in PHP, if output buffering is disabled, it has the subtle effect of causing the page to start being sent to the browser, preventing custom headers from being specified by the PHP script. The UTF-8 representation of the BOM is the byte sequence EF BB BF, which appears as the ISO-8859-1 characters  in most text editors and web browsers not prepared to handle UTF-8. γράψε πιό αναλυτικά την περίπτωση γιά να πάρεις πιό εύστοχη απάντηση αν και για όλα φταίει η micro$oft ! . Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gtroza Δημοσ. 25 Μαρτίου 2010 Share Δημοσ. 25 Μαρτίου 2010 Μου ζητά όμως ο καθηγητής να τα μετατρέψω σε ascii μορφή χρησιμοποιώντας κάποιον editor και να του τα ξαναστείλω γιατί δεν μπορεί να τα κάνει compile http://en.wikipedia.org/wiki/Unix_shell ??????????????????????????????????????? πού πήγε το 1.txt ? αλλάζεις το κείμενο και .. δεν θα βγεί άκρη ευτυχώς που η μέρκελ δεν μπαίνει στο insomnia . Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
alkisg Δημοσ. 25 Μαρτίου 2010 Share Δημοσ. 25 Μαρτίου 2010 1. Δεν είναι σε binary. > $ file 2.1.txt 2.1.txt: UTF-8 Unicode (with BOM) text, with CRLF line terminators 2. Τα scripts δεν τα κάνουμε compile, τρέχουν όπως είναι σε ascii. 3. Πες στον καθηγητή σου ότι μπορεί να τα ανοίξει με το vi ή με το nano. 4. Άλλη φορά μην τα σώζεις από notepad γιατί χαλάνε οι αλλαγές γραμμών (CRLF αντί για LF) και μπαίνει και ένα πράγμα στην αρχή που λέγεται BOM, ενώ στο Linux δεν χρειάζεται. Χρησιμοποίησε έναν οποιονδήποτε editor του Linux για να τα σώζεις. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gtroza Δημοσ. 25 Μαρτίου 2010 Share Δημοσ. 25 Μαρτίου 2010 το αρχείο 1.txt, που μετά αντικαταστάθηκε, ήταν για compile . Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mariakal Δημοσ. 25 Μαρτίου 2010 Μέλος Share Δημοσ. 25 Μαρτίου 2010 Το αρχείo 1.txt ποτέ δεν ανικαταστάθηκε, απλώς για λίγο το αφαίρεσα από δικό μου λάθος. Εν πάσει περιπτώσει όμως, επειδή αρχίζω να τα βάζω σε δρόμο, μπορεί κάποιος να μου στείλει ένα output για το 1.txt ; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
gtroza Δημοσ. 26 Μαρτίου 2010 Share Δημοσ. 26 Μαρτίου 2010 επισυνάπτω διορθωμένο το 1.txt με όνομα 1_n.txt έχω σβήσει το BOM που βάζει το notepad, με τη βοήθεια του mc (midnight commander) με τον editor geany (γιατί δεν είμαι για vi nano και άλλες ασκήσεις πιάνου) το έσωσα ώστε να μετατρέψει τα CR & LF (που βάζει το notepad κατά τις συνήθειες της micro$oft στο τέλος κάθε γραμμής) σε σκέτα LF (κατά τις συνήθειες του unix) μετονόμασα το 1.txt se 1.c γιατί δεν το καταλάβαινε ο compiler και μετά έδωσα την εντολή gcc 1.c -o ena το ena ειναι το εκτελέσιμο που προκύπτει εφόσον έβαλα το -ο "ονομα" οταν γράφουμε gcc onoma.c το εκτελέσιμο που προκύπτει εχει ονομα παντα a.out επισυνάπτω και το output στο τερματικό που το έτρεξα συμβουλή : κατέβασε μιά διανομή linux πχ knoppix γράψ'την σε cd και τρέχε την live θα έχεις ένα περιβάλλον έτοιμο, χωρίς να πειράζεις τα windows και θα σώζεις τη δουλειά σου σε κάποιο usb stick . 1_n.txt Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 26 Μαρτίου 2010 Share Δημοσ. 26 Μαρτίου 2010 Χρησιμοποίησε το dos2unix για να μετατρέψεις το encoding του αρχείου σε κάτι που μπορεί να ανοίξει το Linux. Το πρόγραμμα θα το βρείς στα repositories της διανομής σου ή μπορείς να χρησιμοποιήσεις αυτό το site. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
mariakal Δημοσ. 26 Μαρτίου 2010 Μέλος Share Δημοσ. 26 Μαρτίου 2010 Τέλεια, σας ευχαριστώ πολύ. Και μια τελαυταία ερώτηση: Τα scripts 2.1, 2.1 & 2.3 γιατί μου λέει (ο καθηγητής) ότι δεν μπορεί να τα "τρέξει"; Μήπως πρέπει κα σε αυτά να κάνω κάποια μετατροπή; Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
NullScan Δημοσ. 26 Μαρτίου 2010 Share Δημοσ. 26 Μαρτίου 2010 Διάβασε λίγο τις απαντήσεις που δόθηκαν παραπάνω και τρέξε την εντολή file με παράμετρο τα αρχεία αυτά για να καταλάβεις τί συμβαίνει. Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
parsifal Δημοσ. 26 Μαρτίου 2010 Share Δημοσ. 26 Μαρτίου 2010 Καλημέρα. Τέλεια, σας ευχαριστώ πολύ.Και μια τελαυταία ερώτηση: Τα scripts 2.1, 2.1 & 2.3 γιατί μου λέει (ο καθηγητής) ότι δεν μπορεί να τα "τρέξει"; Μήπως πρέπει κα σε αυτά να κάνω κάποια μετατροπή; 2 περιπτώσεις: 1. Στην πρώτη γραμμή των scripts (αυτή που αρχίζει με τους χαρακτήρες #! ή αλλιώς "shebang" ή αλλιώς "hashbang") καθορίζεται ότι το πρόγραμμα που πρέπει να ερμηνεύσει και να εκτελέσει τα scripts είναι το κέλυφος/shell Bash και του οποίου το εκτελέσιμο πρέπει να βρίσκεται στον κατάλογο /bin. Είτε δεν υπάρχει κέλυφος bash εγκατεστημένο στο σύστημα του καθηγητή σου και χρησιμοποιείται κάποιο άλλο κέλυφος (π.χ. zsh ή κάποιο από τα πολλά άλλα που υπάρχουν σε Linux και Unix-οειδή συστήματα) είτε υπάρχει μεν, αλλά το εκτελέσιμό του (ή symlink/συντόμευση προς αυτό) δε βρίσκεται στον κατάλογο /bin. Σε μερικά συστήματα, υπάρχει ένα symlink με όνομα sh στον κατάλογο /bin που «δείχνει» στο default εγκατεστημένο shell του συστήματος. Οπότε, αν η πρώτη γραμμή γίνει: >#!/bin/sh το πρόβλημα θα λυνόταν. Έτσι όμως, δεν εξασφαλιζόμαστε στην περίπτωση που το script μας περιέχει εντολές και features που είναι αποκλειστικότητα του bash και δε θα μπορούν να ερμηνευθούν σωστά από κάποιο άλλο shell. 2. Τα scripts ως αρχεία δεν έχουν δικαιώματα εκτέλεσης για τον τρέχοντα χρήστη. Κανονικά, για να εκτελεστεί ένα script απλά με τον προσδιορισμό του ονόματος αρχείου τους: >./script_tade.sh θα πρέπει πρωτύτερα ο χρήστης να έχει αλλάξει τα attributes του αρχείου, δίνοντας στον εαυτό του δικαίωμα εκτέλεσης: >chmod u+x script_tade.sh Ένας άλλος τρόπος είναι να καλέσουμε ρητά ένα νέο shell instance και να περάσουμε το script ως παράμετρο. Π.χ.: >/bin/bash script_tade.sh Συνδέστε για να σχολιάσετε Κοινοποίηση σε άλλες σελίδες άλλες επιλογές
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.