Σελίδα 1 από 1

Βοήθεια για symbolic links

ΔημοσίευσηΔημοσιεύτηκε: 27 Δεκ 2010, 20:14
από Blu3Th1nk3r
Χρόνια Πολλά και καλές γιορτές σε όλους!

Θα ήθελα όποιος μπορεί να με βοηθήσει λίγο να δημιουργήσω ένα script το οποίο να ελέγχει αν υπάρχει το αρχείο ενός symbolic link.

Δηλ έχω φτιάξει ένα directory και μέσα έχω βάλει ένα αρχείο και μέσα σε ένα άλλο directory έχω βάλει το symbolic link αυτού του αρχείου.
Θέλω να φτιάξω ένα script το οποίο να κάνει έλεγχο για το αν υπάρχει το αρχείο αλλιώς να διαγράφεται το symbolic link.
Η δυσκολία μου δηλαδή είναι στο να φτιάξω τον έλεγχο if!

Ευχαριστώ εκ των προτέρων! :bow:

Re: Βοήθεια για symbolic links

ΔημοσίευσηΔημοσιεύτηκε: 27 Δεκ 2010, 20:41
από simosx
Ακούγεται παράξενο αυτό που προσπαθείς να κάνεις. Ίσως να χρειάζεται να δώσεις περισσότερες πληροφορίες. Μπορείς να εξηγήσεις ποιος είναι ο σκοπός της άσκησης αυτής;

Re: Βοήθεια για symbolic links

ΔημοσίευσηΔημοσιεύτηκε: 27 Δεκ 2010, 21:13
από malos
Είπες ότι κόλλησες στην if.
Να υποθέσω ότι ενδιαφέρθηκες να το κάνεις μόνος σου;

Να σου πω γιατί ρωτάω !
Αν είναι κάτι που το βιάζεσαι ... ας είναι καλοδεχούμενο ένα έτοιμο scriptάκι από κάποιον γνώστη.

Αν όμως το θες μεν ... αλλά όχι και τόσο γρήγορα ... και σου αρέσει λίγο το παιχνίδι (ομαδικό) .. ας βάλεις φρένο λίγο στο νήμα και ας το γράψουμε ομαδικά όσοι είμαστε στο επίπεδο του "θέλουμε να μάθουμε"

Αν ισχύει το δεύτερο ...
Εγώ βρήκα μέχρι στιγμής (τώρα δηλαδή με ένα γρήγορο ψάξιμο) την συνθήκη if [ -f αρχείο_στον_τρέχοντα φάκελο ] και ασχολείται αν υπάρχει το αρχείο όπως το έγραψες.
Μάλλον θα μπορείς να βάλεις και διαδρομή ολόκληρη (δεν το είδα). Η παράμετρος -f μάλλον θα βγαίνει από τη λέξη file (όχι για να δεις ότι μου έχου μείνει μερικά κύταρα ... ).

Δηλαδή το scriptάκι αυτό

Κώδικας: Επιλογή όλων
#!/bin/bash
if [ -f ένα_αρχείο_σου ]
then
echo yparxei!
else
echo oxi, den yparxei
fi


άμα το τρέξεις θα καταλάβεις.

Μένει να βρούμε πως είναι γραμένη η πληροφορία στο συμβολικό δεσμό και μετά (νομίζω) να κάνουμε κάτι σαν
Κώδικας: Επιλογή όλων
metavliti_mas=H_pliroforia_pou_vrikame_apo_Link
και μετά κάτι σαν
rm $H_pliroforia_pou_vrikame_apo_Link


Πάω τώρα να φτιάξω έναν τέτοιο δεσμό για να τον μελετήσω μετά πως είναι φτιαγμένος.

Αυτά ! Τι λες;


Επεξεργασία Ουπς ! Πρόλαβε και απάντησε ο Σίμος. Ευτυχώς δεν ήρθε κανένα έτοιμο script.
@Σίμο πάντως εγώ το βρήκα αρκετά ενδιαφέρον (φαίνεται πιστεύω από το post μου).
Αλλά από την παρατήρησή σου πήγε το μυαλό και στο κακόβουλο. Αλλά στην περίπτωση του φίλου μας δεν νομίζω ! Αλλά τι λέω μωρέ ; !!! Δεν είπες τίποτα τέτοιο εσύ. Εμένα πήγε το μυαλό μου. Sorry !!!

Re: Βοήθεια για symbolic links

ΔημοσίευσηΔημοσιεύτηκε: 27 Δεκ 2010, 21:31
από Blu3Th1nk3r
Ευχαριστώ πολύ παιδιά για την βοήθεια!

simosx έγραψε:Ακούγεται παράξενο αυτό που προσπαθείς να κάνεις. Ίσως να χρειάζεται να δώσεις περισσότερες πληροφορίες. Μπορείς να εξηγήσεις ποιος είναι ο σκοπός της άσκησης αυτής;


Αυτό το κάνω γιατί έχω μια εργασία για OS και που θέλει να κάνω διάφορες τέτοια scriptakia και έχω κολλήσει σε αυτό.

malos έγραψε:Είπες ότι κόλλησες στην if.
Να υποθέσω ότι ενδιαφέρθηκες να το κάνεις μόνος σου;

Να σου πω γιατί ρωτάω !
Αν είναι κάτι που το βιάζεσαι ... ας είναι καλοδεχούμενο ένα έτοιμο scriptάκι από κάποιον γνώστη.

Αν όμως το θες μεν ... αλλά όχι και τόσο γρήγορα ... και σου αρέσει λίγο το παιχνίδι (ομαδικό) .. ας βάλεις φρένο λίγο στο νήμα και ας το γράψουμε ομαδικά όσοι είμαστε στο επίπεδο του "θέλουμε να μάθουμε"

Αν ισχύει το δεύτερο ...
Εγώ βρήκα μέχρι στιγμής (τώρα δηλαδή με ένα γρήγορο ψάξιμο) την συνθήκη if [ -f αρχείο_στον_τρέχοντα φάκελο ] και ασχολείται αν υπάρχει το αρχείο όπως το έγραψες.
Μάλλον θα μπορείς να βάλεις και διαδρομή ολόκληρη (δεν το είδα). Η παράμετρος -f μάλλον θα βγαίνει από τη λέξη file (όχι για να δεις ότι μου έχου μείνει μερικά κύταρα ... ).

Δηλαδή το scriptάκι αυτό

Κώδικας: Επιλογή όλων
#!/bin/bash
if [ -f ένα_αρχείο_σου ]
then
echo yparxei!
else
echo oxi, den yparxei
fi


άμα το τρέξεις θα καταλάβεις.

Μένει να βρούμε πως είναι γραμένη η πληροφορία στο συμβολικό δεσμό και μετά (νομίζω) να κάνουμε κάτι σαν
Κώδικας: Επιλογή όλων
metavliti_mas=H_pliroforia_pou_vrikame_apo_Link
και μετά κάτι σαν
rm $H_pliroforia_pou_vrikame_apo_Link


Πάω τώρα να φτιάξω έναν τέτοιο δεσμό για να τον μελετήσω μετά πως είναι φτιαγμένος.

Αυτά ! Τι λες;



εγώ σε αυτό που λές είχα κάνει ένα παρόμοιο:

Κώδικας: Επιλογή όλων
#!/bin/bash
FILE = $1 // Αυτό το είδα σε παραδείγματα στο ίντερνετ
if [ !-f $FILE ]
then
rm (και εδώ δεν ξέρω τι να βάλω αλλά υποτίθεται θέλω το αντίστοιχο symbolic link του αρχείου)
fi


προσπάθησα να το κάνω και με συγκεκριμένο αρχείο αλλά δεν μου τρέχει το script γιατί λεει πως δεν αναγνωρίζει το "!-f", γράφω την εντολή και χωρίς το "!" αλλά και πάλι δεν αναγνωρίζει το "-f" :S :(

κάπως έτσι το είχα σκεφτεί.

Re: Βοήθεια για symbolic links

ΔημοσίευσηΔημοσιεύτηκε: 27 Δεκ 2010, 23:09
από malos
Στην δεύτερη γραμμή κόλα καλά τις λέξεις στο ίσον.
Στην τρίτη άσε ένα κενό από το θαυμαστικό και μετά.

Κώδικας: Επιλογή όλων
#!/bin/bash
FILE=$1
if [ ! -f $FILE ]
then
θα δούμε !!!
fi


Ψάχνω!

Re: Βοήθεια για symbolic links

ΔημοσίευσηΔημοσιεύτηκε: 27 Δεκ 2010, 23:24
από Blu3Th1nk3r
malos έγραψε:Στην δεύτερη γραμμή κόλα καλά τις λέξεις στο ίσον.
Στην τρίτη άσε ένα κενό από το θαυμαστικό και μετά.

Κώδικας: Επιλογή όλων
#!/bin/bash
FILE=$1
if [ ! -f $FILE ]
then
θα δούμε !!!
fi


Ψάχνω!


ευχαριστώ πολύ! μην σε κουράζω χρονιάρες μέρες :(

Re: Βοήθεια για symbolic links

ΔημοσίευσηΔημοσιεύτηκε: 29 Οκτ 2014, 09:00
από Sxandy
Πατώντας ctrl+c θα έπρεπε να σε πετάξει εντελώς από το πρόγραμμα, γιατί στην ουσία σταματάς την εκτέλεση του με βίαιο τρόπο.

Για να μπορείς να έχεις ανοιχτό το εκάστοτε πρόγραμμα(π.χ. kate,gedit...) και να συνεχίσεις την δουλειά σου στο τερματικό, δίνεις:
$ kate &