Δεν έχω βάλει τίποτα Bash, και είναι ότι όταν μπαίνω στον υπέροχο κόσμο της Python, ξεχάσω λίγο για αυτόν τον άλλο φίλο που με βοήθησε τόσο πολύ 🙂
Εδώ έβαλα κάτι στους λάτρεις του Bash, όπως λέει ο τίτλος ... Θα σας δείξω πώς να ελέγξετε αν υπάρχει αρχείο ή φάκελος στο σύστημα, χρησιμοποιώντας μόνο: if
Θα δημιουργήσουμε ένα αρχείο .sh και θα του δώσουμε δικαιώματα εκτέλεσης, για αυτό αρκεί να βάλετε την ακόλουθη εντολή σε ένα τερματικό:
αγγίξτε test.sh && chmod + x test.sh
Αυτό που έκανε ήταν να δημιουργήσετε το αρχείο (αγγίξτε test.sh) και επίσης σας δίνουν δικαιώματα εκτέλεσης (chmod + x test.sh)
Τότε ας γράψουμε τα ακόλουθα σε αυτό:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Τι κάνει αυτό;
Απλό 😀
Στην πρώτη γραμμή - » εάν [-d / opt /];
Εδώ ρωτάμε, υπάρχει ο κατάλογος / opt /; Ναι κατάλογος / φάκελος, επειδή το -d σημαίνει κατάλογο ή φάκελο.
Τότε, εάν υπάρχει, θα εκτυπώσουμε στο τερματικό «Ναι, υπάρχει.»(Αυτή είναι η γραμμή 2 και 3)
Διαφορετικά και / opt / ΔΕΝ υπάρχει, τότε θα εκτυπώσουμε «Όχι δεν υπάρχει»(Γραμμές 4 και 5)
Στη συνέχεια, στην τελευταία γραμμή (αριθμός 6) κλείνουμε το if και αυτό είναι.
Κάντε το τεστ, θα σας δείξει ότι / opt / υπάρχει.
Εάν θέλετε να σας δείξω το άλλο κείμενο (αυτό που δεν υπάρχει) αλλάξτε / opt / για οποιονδήποτε άλλο φάκελο που δεν υπάρχει στο σύστημά σας, για παράδειγμα: / asd /
Όπως μπορείτε να δείτε, το -d μας βοηθά να γνωρίζουμε εάν υπάρχει ο κατάλογος, τώρα αν αλλάξουμε -d σε -f είναι να ελέγξουμε την ύπαρξη αρχείων (-d = κατάλογος, -f = αρχείο / αρχείο)
Για παράδειγμα:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Εδώ είναι η λίστα επιλογών:
-d - »Ελέγξτε εάν υπάρχει συγκεκριμένος κατάλογος
-f - »Ελέγξτε εάν υπάρχει ένα συγκεκριμένο αρχείο
-w - »Ελέγξτε εάν ένα συγκεκριμένο αρχείο έχει δικαιώματα εγγραφής
-x - »Ελέγξτε εάν ένα συγκεκριμένο αρχείο έχει δικαιώματα εκτέλεσης.
Και δεν υπάρχουν πολλά περισσότερα για να προσθέσετε 🙂
Ξέρω ότι αυτό θα είναι πολύ χρήσιμο και ενδιαφέρον για όσους θέλουν να προγραμματίζουν στο Bash 😉
αφορά
Ένας άλλος τρόπος για να το κάνετε χωρίς αν… τότε .. επιλέξτε:
test -f /etc/hosts && elcomando
Ή επίσης
test ! -f /etc/hosts && echo "no se encontró el archivo"
Και τα λοιπά.
Σωστά 😀
… O_O… Είσαι ο Hugo, ο Hugo από την Κούβα; … Χρησιμοποιώντας τα Windows8, WTF !!!
Λοιπόν ναι, εξοικειώνω με αυτό το λειτουργικό σύστημα και αν πρέπει να είμαι ειλικρινής, το μόνο πράγμα που βρήκα χρήσιμο είναι ο διαχειριστής αντιγράφων, διαφορετικά προσωπικά το θεωρώ πόνο, ειδικά την υβριδική διεπαφή και τις εφαρμογές του μετρό. Μου αρέσει λιγότερο από τα Vista και τα 7 (αν και λίγο πιο αποτελεσματικά από αυτά), τα οποία δεν μου άρεσαν. Το μόνο πράγμα που χρησιμοποιώ είναι να παίζω NFS13 και Skyrim, αλλά αυτό το λειτουργικό σύστημα παίρνει τόσο πολύ χώρο που έπρεπε να διαγράψω το διαμέρισμα Linux μου [snif].
Ωστόσο, για την ηρεμία σας, θα σας πω ότι την προηγούμενη μέρα έκανα λήψη του Arch ISO για τον Ιανουάριο και σκοπεύω να το δώσω ένα μικρό τεστ στην έκδοση x86-64, μόλις λάβω το repo (θα το έχετε;). Τώρα που, όπως είδα, χρησιμοποιεί υπογεγραμμένα πακέτα από προεπιλογή, μου δίνει περισσότερη αυτοπεποίθηση για να βουτήξω.
Και ο πατέρας μου μου είπε επίσης ότι θα μου έστειλε ένα Sony Xperia, το οποίο θέλω να εκμεταλλευτώ για να μάθω κάποιο προγραμματισμό για το Android, που ήταν μια εκκρεμή επιθυμία. Λοιπόν, ηρέμησε, δεν έχω πάει ακόμα στη σκοτεινή πλευρά της δύναμης, buahahahaha 😉
δοκιμή για άντρες
Σίγουρα.
Wenas! ..
Θα μπορούσαμε να κάνουμε το ίδιο .. .. αλλά ο κατάλογος περνά ως παράμετρος ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Και το ονομάζουμε ως:
./test.sh / opt /
Χαιρετισμός..
Το IF δεν είναι κύκλος xD
Μου ταιριάζει σαν ένα γάντι για ένα σενάριο που κάνω. Είναι έγκυρη η χρήση μπαλαντέρ; Για παράδειγμα, για να μάθετε αν υπάρχουν .mp4, τότε εκτελέστε κάτι σε αυτά.
εάν [-f * .mp4];
...
Ναι, είναι απολύτως έγκυρο ..
Ακόμη και μέσω παραμέτρων .. "* .mp4"
Π.χ.
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Εάν το καλέσετε: ./test.sh * .mp4
Εάν εντοπίσει αρχεία .mp4, τα διαγράφει ... ... αλλά δεν παραθέτει τα αρχεία σε αυτόν τον κατάλογο ...
Ευχαριστούμε για τα σχόλια και τις συμβουλές! 🙂
Χάσατε το f xD
rm -rf $ 1
Αυτό είναι πιο συναρπαστικό!
Υπέροχα !!!, Κάθε μέρα ερωτεύομαι περισσότερο το Linux, τα Windows υποβιβάζονται σε μια σκοτεινή γωνία του σκληρού δίσκου μου, το οποίο πρόκειται να διαγραφεί για να υποχωρήσει στο φως του Linux.
Εξαιρετικά! .. τότε κάντε το επόμενο βήμα .. και βγάλτε το ..
Πριν από 6 μήνες περίπου. Έχω μόνο GNU / Linux σε όλα τα μηχανήματά μου και δεν χρειάζομαι περισσότερα .. .. όχι W $ .. ή Wine .. ..και είμαι περισσότερο από χαρούμενος έτσι .. 😉
Και μολύνω το περιβάλλον μου .. αφού όλοι με βλέπουν με την αψίδα μου, γρήγορο, αποτελεσματικό και χαρούμενο ... και μου ζητούν να εγκαταστήσω Linux .. .. ναι! .. 😀
Μπορείτε επίσης να τα ελέγξετε για διάφορες επεκτάσεις, μπορείτε να χρησιμοποιήσετε κάτι παρόμοιο
#! / bin / bash
Κατάλογος = $ HOME / Λήψεις
εάν [$ Κατάλογος]; τότε
echo "Εδώ είναι μια λίστα τύπων αρχείων:"
ηχώ "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp ?, *. wav, *. fla, *. aud * .midi}
fi
Η χρήση του {} σάς επιτρέπει να καθορίσετε πολλές επεκτάσεις σε αυτήν την περίπτωση, τη χρήση του "?" , είναι ένα μπαλαντέρ, το οποίο σας επιτρέπει να πάρετε το "Any Character".
Ελπίζω να μάθω
Συνιστώ την εντολή find [directory] [search_pattern] –exec [command] {} \
Δεν λειτουργεί, έβαλα αυτά τα αρχεία στον κατάλογο:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / bin / bash
PATH = / tmp / ΔΟΚΙΜΗ
cd $ ΔΙΑΔΡΟΜΗ
ls -la | awk «{print» «$ 9}»
εάν [[-f AB.ΚΕΙΜΕΝΟ]]; τότε
echo »Εισαγάγετε το IF εάν υπάρχει AB.ΚΕΙΜΕΝΟ "
fi
εάν [-f AB20160422.TXT]; τότε
echo "είσοδος για συγκεκριμένο αρχείο AB"
fi
όταν έβαλα [-f AB.TXT] δίνει σφάλμα
όταν έβαλα [[-f AB.TXT]] δεν δίνει σφάλμα αλλά δεν μπορεί να βρει το αρχείο
Λειτουργεί μόνο όταν βάζω ένα συγκεκριμένο αρχείο, για παράδειγμα:
εάν [-f AB20160422.TXT]; τότε
Δεν μπορώ να δουλέψω με μπαλαντέρ * ή;
#! / usr / bin / env bash
#.κωδικοποίηση = utf-8.
ΠΕΡΙΕΧΟΜΕΝΑ
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1m»
NC = »\ 033 [0m»
ΚΟΚΚΙΝΟ = »\ 033 [31m»
αν [! "$ 1"];
τότε
echo "λείπει μια παράμετρος"
έξοδος EXIT_BAD $
fi
cd "$ 1"
αρχεία = »ls -h1 $ 1»
για αρχείο σε $ ($ $); κάνω
echo -e "μπορείτε να κάνετε οτιδήποτε με $ BOLD $ αρχείο $ nc εδώ"
γίνεται
έξοδος EXIT_OK $
@KZ, πείτε περισσότερα για αυτό: "και αυτό συμβαίνει επειδή μπαίνω στον υπέροχο κόσμο της Python"!
HAHAHAHA nah ... σιγά-σιγά 🙂
Είμαι ακόμα αρχάριος στο Python, δεν έχω χρόνο να αφιερώσω ώρες και ώρες σε αυτό, οπότε είμαι αργός ναι, αργός αλλά σίγουρος στη μάθησή μου 😀
Ευχαριστώ πολύ 😀 μόλις χθες σκεφτόμουν πώς να το κάνω αυτό.
αυτό με το ncurses είναι υπέροχο 🙂
σε 1 λέξη… ΑΡΙΣΤΗ!
Για πολύ καιρό τελειοποιούσα ένα σενάριο για να κάνω λήψεις από το Διαδίκτυο, αλλά είχα το πρόβλημα ότι έκανε λήψη των αρχείων που ζήτησε 1 και ξανά χωρίς να μπορέσω να επαληθεύσω την ύπαρξη 1ro.
Πολύ καλό δάσκαλο.
Εκπληκτική συνεισφορά, εδώ από τη Χιλή εκτιμάται.
Κάθε μέρα περισσότερα LINUX με εκπλήσσουν ευχάριστα,
Ζωντανό Ελεύθερο Λογισμικό MIERDAAAA.
εξυπηρετήστε για
ελέγξτε αν ένα αρχείο προέρχεται από έναν κατάλογο
Εάν θέλω να ελέγξω την ύπαρξη οποιουδήποτε αρχείου σε μια διαδρομή «/ tmp / δέκτες», να εκτελέσω οποιαδήποτε εντολή, πώς θα ήταν;
θα είμαι πολύ ευγνώμων
αφορά
Αγαπητέ, και για να προσδιορίσετε από το IF εάν το αρχείο έχει συμπληρωθεί πλήρως ???. Το ρωτάω γιατί όταν συμπληρώνετε το αρχείο για μετάδοση, μπορεί να το πάρει ακόμη και με τα μισά δεδομένα.
Χαιρετισμούς και ευχαριστώ για την απάντησή σας.
Λοιπόν νομίζω ότι πρέπει επίσης να προσθέσετε ένα παράδειγμα, όπως "Βεβαιωθείτε ότι δεν υπάρχει" "" αρχείο "ή" κατάλογος "όπως για παράδειγμα
για να ελέγξετε ότι ΔΕΝ υπάρχει, για παράδειγμα χρησιμοποιήστε μια μεταβλητή->
Κατάλογος
#! / bin / bash
Κατάλογος = »HOME $ / Κατάλογος δοκιμών»
Αρχείο = »$ HOME / Δοκιμαστικό αρχείο»
αν [! -d "$ Directory"]; τότε
echo "Δεν υπάρχει κατάλογος $"
echo "Δημιουργία ->" Κατάλογος $ "
mkdir "$ Κατάλογος"
αλλιώς
Το echo "Directory" $ Directory "υπάρχει ήδη
fi
αν [! -d "$ File"]; τότε
echo "Το αρχείο $ δεν υπάρχει"
echo "Δημιουργία ->" Αρχείο $ "
αγγίξτε "$ File"
αλλιώς
Το echo "File" $ File "υπάρχει ήδη
fi
όταν κάνετε το mkdir ελέγξτε αργότερα αν το τερματικό θα μπορούσε να το δημιουργήσει γιατί μπορεί να σπάσει τις μπάλες εάν είναι ένας φάκελος ως root ή σύστημα hhah
Χαιρετισμούς KZKG ^ Gaara ένα ερώτημα όπως θα έκανα για να χρησιμοποιήσω μπούκλα. Θα ήθελα να μάθω πώς κάνω από την κονσόλα στο να κάνω ping ένα url για να δω αν είναι διαθέσιμο για παράδειγμα http://portal.com/directorio/archivo1.php Όπου το αρχείο 1 θα αποθηκεύει τα IP επίσκεψης, είναι για την παρακολούθηση μιας ομάδας που πρέπει να κάνω αυτό το pin κάθε μισή ώρα, έτσι ώστε να γνωρίζω τη δημόσια IP, καθώς αλλάζει κατά καιρούς και δεν μπορώ να συνδεθώ με ssh.
Χαιρετισμούς ευχαριστώ εκ των προτέρων, ο Θεός να σε ευλογεί.
Γεια σας εκεί,
Πρώτον, πρέπει να πείτε ότι η μεταβλητή IP (για παράδειγμα) είναι το περιεχόμενο αυτού του αρχείου, γι 'αυτό πρέπει:
1. Πραγματοποιήστε λήψη του αρχείου
2. Δείτε το περιεχόμενό του και λάβετε την IP από εκεί
3. Αυτή η IP είναι η μεταβλητή
Για παράδειγμα:
Εδώ κατεβάζουμε το αρχείο - »wget http://portal.com/directorio/archivo1.php -o αρχείο.html
Στη συνέχεια, εκχωρούμε μια μεταβλητή στο περιεχόμενό της: - »: $ {IP: =` cat file.html`}
.. υποθέτοντας ότι το περιεχόμενο αυτού του αρχείου έχει μόνο την IP, εάν όχι, θα πρέπει να συνεργαστείτε με grep, awk ή head.
Μόλις έχετε ήδη το IP ως μεταβλητή, το υπόλοιπο είναι το απλούστερο πράγμα στον κόσμο 🙂
Αν θέλετε, γράψτε μου με email (kzkggaara[at]desdelinux[dot]net) Θα σε βοηθήσω ευχαρίστως
Σας ευχαριστώ πολύ kzkggaara πολύ ευγνώμων.
Γεια, δεν καταλαβαίνω πολλά για τον υπολογιστή και δεν ξέρω αν αυτή η ανάρτηση σχετίζεται με το πρόβλημα που έχω.
Σχολιάζω σε περίπτωση που με διαβάσετε, παρόλο που η ανάρτηση προέρχεται από ένα χρόνο πριν:
Αποδεικνύεται ότι δημιούργησα ένα φάκελο στην επιφάνεια εργασίας μου για να αποθηκεύσω μερικά βίντεο. Λοιπόν, διέγραψα αυτά τα βίντεο επειδή δεν τα χρειάζομαι πλέον και τώρα αυτός ο φάκελος μου λέει ότι δεν υπάρχει (παρόλο που είναι ορατός στην επιφάνεια εργασίας μου).
- Αυτό είναι το πρώτο πρόβλημα που έχω:
Δεν μπορώ να διαγράψω το φάκελο.
- Δεύτερο πρόβλημα και νομίζω πιο σημαντικό:
Σε μια προσπάθεια διαγραφής του φακέλου, έβαλα ένα φάκελο ΦΩΤΟΓΡΑΦΙΕΣ. Τώρα όταν ανοίγω το φάκελο που "δεν υπάρχει" είναι άδειος και οι ΦΩΤΟΓΡΑΦΙΕΣ δεν είναι εκεί.
Πώς μπορώ να ανακτήσω τις φωτογραφίες; Έχω δώσει την επιλογή μέσα στο φάκελο "Εμφάνιση κρυφών εγγράφων", αλλά ο φάκελος ΦΩΤΟΓΡΑΦΙΕΣ δεν εμφανίζεται.
Ελπίζω να ξέρετε πώς επιλύεται.
Σας ευχαριστώ.
Υπάρχουν δύο χρήστες που είναι οι κύριοι: root και your_user (για παράδειγμα η natalia). Και οι δύο έχουν προσωπικούς φακέλους. your_user in / home και root in / (ριζικός κατάλογος). Κάνοντας δεξί κλικ στο φάκελο, δείτε σε ποιον ανήκει. Εάν είναι root με τον διαχειριστή αρχείων σας χρησιμοποιώντας sudo ή gksu ή kdesu, ανάλογα με το περιβάλλον που χρησιμοποιείτε, μεταβείτε στον ριζικό κατάλογο -> root -> Επιφάνεια εργασίας και πιθανότατα θα βρείτε τις φωτογραφίες και μπορείτε να διαγράψετε το φάκελο. Ορισμένες διανομές όταν δεν είστε ο κάτοχος του αρχείου ή του καταλόγου και δεν έχετε δικαιώματα πρόσβασης σας λένε ότι ο κατάλογος / το αρχείο δεν υπάρχει. Εάν είστε ο κάτοχος και δεν είστε root, κάντε το ίδιο με τον διαχειριστή αρχείων με το sudo, κλπ και μεταβείτε στον ριζικό κατάλογο -> / home -> personal_folder -> Επιφάνεια εργασίας και δείτε εάν οι φωτογραφίες υπάρχουν και αν μπορείτε να διαγράψετε ο φάκελος.
Εάν αυτό δεν λειτουργεί, θα πρέπει να δείτε άλλες επιλογές από το τερματικό (κονσόλα).
Γεια, πώς είσαι; Κάνω μια δουλειά στο bash και θα ήθελα να μάθω πώς να επαληθεύσω εάν έχει εισαχθεί ένας κατάλογος από το πληκτρολόγιο, για παράδειγμα
#! / bin / bash
Διαδρομή ανάγνωσης
# Είσοδος ~ / Επιτραπέζιος υπολογιστής
# Τότε προσπαθώ να περιηγηθώ σε αυτόν τον κατάλογο
cd $ διαδρομή
# Λαμβάνω το ακόλουθο μήνυμα bash: cd: ~ / Desktop: Το αρχείο ή ο κατάλογος δεν υπάρχει
Η ερώτησή μου είναι, τι μπορώ να κάνω ώστε να το εισάγω από το πληκτρολόγιο και να το πάρω ως διαδρομή καταλόγου;
Και πώς μπορώ να ξέρω αν υπάρχει ομάδα,
καλό έχω ένα πρόβλημα στο canaima μου όταν πατάω το κουμπί cunaguaro λέει ότι δεν υπάρχει αρχείο ή κατάλογος όπως θα έκανε για να λύσει αυτό το πρόβλημα και τα υπόλοιπα δεν ανοίγουν cunaguaro παρακαλώ ευχαριστώ.
Πώς το κάνετε εάν στο BASH εάν το όνομα αρχείου έχει κενά;
Για παράδειγμα:
Data Απριλίου.xlsx
Για να ρωτήσετε αν το αρχείο υπάρχει
Carlos, σαν αυτό:
αν [["$ variable" == Δεδομένα \ μήνας \ του \ April.xlsx]]; έπειτα ηχώ «ταίριασμα». fi
Μπορείτε επίσης:
εάν [["$ variable" == 'Δεδομένα για τον μήνα Απρίλιο.xlsx']]; έπειτα ηχώ «ταίριασμα». fi
Μια άλλη επιλογή:
[["$ Variable" == 'Δεδομένα για τον Απρίλιο.xlsx']] && echo 'match' || η ηχώ «δεν ταιριάζει»
Ορισμένες σκοτεινές περιοχές του Διαδικτύου προτείνουν τη χρήση [[]] αντί για [], και εάν συγκρίνετε αριθμούς τότε: ((μεταβλητή> = 3)) && echo "μεταβλητή είναι μεγαλύτερη ή ίση με 3 '|| η μεταβλητή echo "είναι μικρότερη από 3"
Επομένως, για αριθμούς:
αν ((αριθμός! = 4)); τότε ηχώ "$ {number} δεν είναι 4". αλλιώς ηχώ "$ {number} είναι 4"; fi
Πώς μπορείτε να δημιουργήσετε έναν κωδικό για επικύρωση εάν ο κατάλογος έχει ένα συγκεκριμένο κείμενο, ώστε να μπορείτε να τον επεξεργαστείτε.
παράδειγμα:
εάν (κείμενο1)
μην κάνεις τίποτα
αλλιώς
αλλαγή κειμένου 1 σε κείμενο2
μια ερώτηση, πώς θα ήταν να ελέγχετε κάθε 15 δευτερόλεπτα εάν το αρχείο υπάρχει ή όχι, σας ευχαριστώ.
Γεια σας,
Αυτό:
εάν [-w / home / Komun / Logs / ti]; τότε
Μάθετε αν το αρχείο είναι εγγράψιμο. Αλλά βασίζεται σε δικαιώματα χρήστη. Μπορεί να γίνει για να μάθετε εάν η ομάδα ή οι άλλοι έχουν δικαιώματα;