Ναι, αν κοιτάξεις είναι hardcoded για ISO8859-1 και αγγλικούς unicode χαρακτήρες. Πάντως ακόμα και έτσι είναι overkill να φτιάξεις C πρόγραμμα για τέτοια δουλειά αφού γίνεται απευθείας απο το bash. Επίσης είναι abandonware και δεν έχει σχόλια ο κώδικας του, μάλλον περισσότερο με άσκηση φοιτητή μοιάζει. Υπάρχει επίσης το iconv που κάνει μετατροπή απο character set σε character set.
Εμφάνιση 1.471-1.485 από 2222
Θέμα: Ερώτηση για bash
-
10-11-20, 13:06 Απάντηση: Ερώτηση για bash #1471
-
02-01-21, 17:29 Απάντηση: Ερώτηση για bash #1472
Σε ένα bash script που μοιάζει έτσι:
Κώδικας:#/bin/bash -e <some commands here> <a command that might crash here, name it cmd1> <more commands here>
Κώδικας:#/bin/bash -e <some commands here> cmd1 || cmd2 <more commands here>
Κώδικας:cmd1 || cmd2 && exit 1
Κώδικας:cmd1 || cmd2 ; exit 1
- - - Updated - - -
Το βρήκα:
Κώδικας:cmd1 || { cmd2 && exit 1; }
-
02-01-21, 18:51 Απάντηση: Ερώτηση για bash #1473
@tsigarid, δες και traps μήπως είναι πιο κομψή λύση για το use case σου:
http://redsymbol.net/articles/bash-exit-traps/QSpeedTest - Crossplatform γραφικό tool σε C++ και Qt4 για μέτρηση ping, packet loss και ταχύτητας download της Internet πρόσβασής μας - Download@SourceForge - Thread συζήτησης - Thread δημοσίευσης αποτελεσμάτων
-
03-01-21, 05:04 Απάντηση: Ερώτηση για bash #1474
-
03-01-21, 08:06 Απάντηση: Ερώτηση για bash #1475
Θελω να κανω ενα σκριπτακι που, μεσα στα πολλα που θα κανει για να καταληξει σε ενα grep μιας σειρας, ειναι και το mount ενος iso.
Κανω λοιπον το φακελο που χρειαζομαι, πχ /mnt/iso, αλλα οταν πανω να κανω mount σαν απλος χρηστης με φτυνει. Γιατι? Με root δουλευει κανονικα.
Κώδικας:$ mkdir /mnt/iso $ mount -o loop Win7_Ult_SP1_Greek_x64.iso /mnt/iso/ mount: /mnt/iso/: mount failed: Operation not permitted.
ديميتريس
-
03-01-21, 12:48 Απάντηση: Ερώτηση για bash #1476
Γιατί δεν έχεις άδεια να το κάνεις mount. Σαν χρήστης μπορείς να κάνεις mount μόνο όσες καταχωρήσεις έχουν οριστεί σαν "user" mountable στο fstab (παλαιότερα πχ οι διανομές είχαν καταχώρηση για το /dev/sr0 ώστε να μπορείς να κάνεις mount το dvdrw). Με sudo ή udisks δοκίμασες;
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
03-01-21, 13:32 Απάντηση: Ερώτηση για bash #1477
Με sudo θα το κανει λογικα, αλλα ο χρηστης δεν ειναι sudo. Με udisks πως γινετια. Στο stackexchange βρηκα τα guestmount και archivemount, που δεν εινια το ιδιο προφανως με το mount, αλλα λογικα θα μου κανει καποιο απο αυτα.
ديميتريس
-
03-01-21, 14:37 Απάντηση: Ερώτηση για bash #1478
Δεν μπορώ να το ελέγξω εδώ που είμαι αλλά από την manpage του udisksctl τα βήματα πρέπει να είναι τα παρακάτω:
Κώδικας:1) % udisksctl loop-setup --read-only --file /path/to/file.iso Mapped file /path/to/file.iso as /dev/loop2 (το πρώτο ελεύθερο device) 2) % udisksctl mount --block-device /dev/loop2 (αυτό που είδες πριν) 3) κάνεις ό,τι θέλεις 4) % udisksctl unmount --block-device /dev/loop2 5) % udisksctl loop-delete --block-device /dev/loop2
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
03-01-21, 15:01 Απάντηση: Ερώτηση για bash #1479
-
03-01-21, 15:21 Απάντηση: Ερώτηση για bash #1480
Θα μπορούσε να κάνει κάτι τέτοιο (βάζοντας και το loop σαν παράμετρο μαζί με το user για σιγουριά αν και θα αναγνωριστεί αυτόματα εκτός αν μιλάμε για αρχαίο πυρήνα και mount) αλλά θα πρέπει να είναι πάντα το ίδιο iso αρχείο. Εγώ υπέθεσα ότι το script του θα χρησιμοποιεί διάφορα iso αρχεία.
Κώδικας:/path/to/file.iso /mnt/iso auto noauto,loop,ro,user 0 0
Αν δεν μας ενδιαφέρει η ασφάλεια, τότε μπορεί να γίνει μέσω symlink. Βάζεις την καταχώρηση που έγραψα παραπάνω με το /path/to/file.iso να είναι ένα οποιοδήποτε όνομα θέλεις (αρκεί να είναι σε κατάλογο που έχει άδειες ο χρήστης και όχι σε sticky καταλόγους όπως το /tmp).
Μετά το script του θα μπορεί να κάνει
Κώδικας:% ln -snf /path/to/πραγματικό.iso /path/to/fstab.iso % mount /mnt/iso % blah blah % umount /mnt/iso % rm /path/to/ftsab.iso
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
04-01-21, 08:27 Απάντηση: Ερώτηση για bash #1481
Το entry στο fstab δεν δουλευει για το λογο που ειπε ο imitheos, επειδη δηλαδη καθε φορα θα εινια και διαφορετικο αρχειο. Για τις υπολοιπες λυσεις.
Αυτη με το udisksctl δεν με βολευει επειδη εχει παρα πολλα πραγματα που πρεπει να γινουν και θα τα κανω μανταρα. Το πακετο που περιεχει το guestmount απαιτει ενα σκασμο εξαρτησεις, οποτε απορριπτεται. Και το archivemount με πρηζει με αυτο
Κώδικας:$ archivemount -o readonly el_windows_10_consumer_editions_version_20h2_updated_dec_2020_x64_dvd_da3cfb21.iso /mnt/iso/ fusermount: failed to open /etc/fuse.conf: Permission denied fusermount: user has no write access to mountpoint /mnt/iso
Κώδικας:$ archivemount -o readonly el_windows_10_consumer_editions_version_20h2_updated_dec_2020_x64_dvd_da3cfb21.iso /tmp/iso/ $ ls /tmp/iso/ README.TXT $ cat /tmp/iso/README.TXT This disc contains a "UDF" file system and requires an operating system that supports the ISO-13346 "UDF" file system specification.
ديميتريس
-
04-01-21, 13:08 Απάντηση: Ερώτηση για bash #1482
Δεν ξέρω αν μπορεί να συνυπάρξει iso με udf αλλά αυτό μου δίνει την εντύπωση ότι το iso είναι UDF, όπως σου λέει άλλωστε, και έχει για λόγους συμβατότητας και ένα ISO9660 filesystem το οποίο περιέχει μόνο ένα README και ενημερώνει τον χρήστη για το UDF. Βλέποντας λοιπόν ότι το archivemount χρησιμοποιεί το FUSE, μήπως υποστηρίζει μόνο ISO αρχεία και δεν μπορεί να κάνει mount UDF αρχεία; Ίσως λέω χαζομάρα φυσικά.
Αν το script πρόκειται για δική σου κατανάλωση οπότε δεν σε καίει η ασφάλεια, κάνε αυτό που είπα πριν με την symlink. Βάλε στο fstab ένα όνομα που σε βολεύει και μετά κάνε symlink το εκάστοτε αρχείο με αυτό το όνομα και θα μπορείς να το κάνεις mount / unmount αρκεί να μην το κάνεις στο /tmp/iso όπως το έκανες εδώ. Έχω την εντύπωση ότι για λόγους ασφαλείας δεν μπορεί να δουλέψει σε sticky καταλόγους αλλά ίσως το μπερδεύω με κάτι άλλο.
Edit: Ναι, έτσι είναι αλλά όχι ακριβώς όπως το θυμόμουν. Δοκίμασα τους παρακάτω 4 συνδυασμούς:
Κώδικας:/tmp/l1.iso /mnt/iso1 auto noauto,ro,user,loop 0 0 /home/user/l2.iso /mnt/iso2 auto noauto,ro,user,loop 0 0 /tmp/l3.iso /tmp/iso1 auto noauto,ro,user,loop 0 0 /home/user/l4.iso /tmp/iso2 auto noauto,ro,user,loop 0 0
Η μόνη προϋπόθεση για να δουλέψει είναι το symlink που θα ορίσεις στο fstab να υπάρχει σε κατάλογο που σου ανήκει.Τελευταία επεξεργασία από το μέλος imitheos : 04-01-21 στις 13:21.
"I like offending people, because I think people who get offended should be offended" - Linus Torvalds
"Παλιά είχαμε φτωχούς οι οποίοι ζούσανε σε φτωχογειτονιές. Τώρα, η οικονομικά δυσπραγούσα τάξη
κατέχει στέγες υποδεέστερης ποιότητας σε υποβαθμισμένα αστικά κέντρα" - George Carlin
Γα.... την πολιτική ορθότητα.
-
04-01-21, 16:09 Απάντηση: Ερώτηση για bash #1483
Το σκριπτ ειναι για μενα ναι. Δεν με πειραζει να κανω ολη τη διαδικασια (αλλαγη σε root, mount, τρεξιμο του wiminfo σε ενα συγκεκριμενο αρχειο του iso, grep για να παρω αυτο που θελω, unmount, εξοδος απο root), αλλα ειναι βαρετη.
Γιατι δεν μπορω να το κανω ομως mount, ειτε στο /mnt/iso ειτε στο /tmp/iso, αφου εγω εκανα τους φακελους?
Τελος, αυτο που λες με τα symlinks μου φαινετια ακομα πιο βουνο απο το αλλο με το udisks.
Εχω και τον lighttpd που μου χαλασε και δεν μπορω να συγκεντρωθω σε ενα πραγμα!ديميتريس
-
04-01-21, 18:20 Απάντηση: Ερώτηση για bash #1484NetBSD Rocks!
http://www.netbsd.org
-
04-01-21, 18:28 Απάντηση: Ερώτηση για bash #1485
Ο χρηστης δεν ειναι sudo και δεν θελω να του δωσω sudo γιατι στο συγκεκριμενο συστημα εκτελουνται αρκετα.
Επισης, ακομα και αν ηταν sudo, το σκριπτ θα σταματαει για να μου ζητησει τον κωδικο οταν τον χρειαζεται ή θα πρεπει να το τρεχω με sudo sh blablabla?ديميتريس
Παρόμοια Θέματα
-
Βοήθεια για ένα απλό bash script
Από AddictedToChaos στο φόρουμ Unix - LinuxΜηνύματα: 34Τελευταίο Μήνυμα: 22-07-11, 01:57 -
bash - matlab
Από simeon.mattes στο φόρουμ Unix - LinuxΜηνύματα: 25Τελευταίο Μήνυμα: 25-06-08, 23:00 -
Bash Script help (Αρχάριος)
Από weakwire στο φόρουμ Unix - LinuxΜηνύματα: 12Τελευταίο Μήνυμα: 08-05-07, 00:41 -
bash rename (mv)
Από hayzel στο φόρουμ Unix - LinuxΜηνύματα: 6Τελευταίο Μήνυμα: 07-01-07, 16:33
Bookmarks