Ich habe nichts von gesetzt Bashund es ist so, dass ich beim Betreten der wundervollen Welt von Python diesen anderen Freund, der mir so sehr geholfen hat, ein wenig vergessen habe 🙂
Hier habe ich den Bash-Enthusiasten etwas gesagt, wie der Titel schon sagt ... Ich werde Ihnen zeigen, wie Sie überprüfen können, ob sich eine Datei oder ein Ordner im System befindet, indem Sie einfach Folgendes verwenden: if
Wir werden eine .sh-Datei erstellen und ihr Ausführungsberechtigungen erteilen. Dazu reicht es aus, den folgenden Befehl in ein Terminal zu schreiben:
Berühren Sie test.sh && chmod + x test.sh
Dadurch wurde die Datei erstellt (Berühren Sie test.sh) und geben Ihnen auch Ausführungsberechtigungen (chmod + x test.sh.)
Dann schreiben wir Folgendes hinein:
if [ -d /opt/ ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Was macht das?
Einfach 😀
In der ersten Zeile - » if [-d / opt /];
Hier fragen wir, ob das Verzeichnis / opt / existiert. Ja Verzeichnis / Ordner, weil die -d bedeutet Verzeichnis oder Ordner.
Falls es dann existiert, drucken wir im Terminal «Ja, es existiert.»(Dies ist Zeile 2 und 3)
Andernfalls und / opt / existiert NICHT, dann werden wir drucken «Nein, es existiert nicht»(Zeilen 4 und 5)
Dann schließen wir in der letzten Zeile (Nummer 6) das Wenn und das wars.
Wenn Sie den Test durchführen, wird angezeigt, dass / opt / vorhanden ist.
Wenn Sie möchten, dass ich Ihnen den anderen Text (den nicht vorhandenen) zeige, ändern Sie / opt / für einen anderen Ordner, der in Ihrem System nicht vorhanden ist, z. B.: / Asd /
Wie Sie sehen können, hilft uns -d zu erkennen, ob das Verzeichnis vorhanden ist. Wenn wir nun -d in -f ändern, müssen wir die Existenz von Dateien überprüfen (-d = Verzeichnis, -f = Datei / Datei)
Zum Beispiel:
if [ -f /etc/hosts ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Hier ist die Liste der Optionen:
-d - »Überprüfen Sie, ob ein bestimmtes Verzeichnis vorhanden ist
-f - »Überprüfen Sie, ob eine bestimmte Datei vorhanden ist
-w - »Überprüfen Sie, ob eine bestimmte Datei Schreibberechtigungen hat
-x - »Überprüfen Sie, ob eine bestimmte Datei über Ausführungsberechtigungen verfügt.
Und nun, es gibt nicht viel mehr hinzuzufügen 🙂
Ich weiß, dass dies sehr nützlich und interessant für diejenigen sein wird, die gerne in Bash program programmieren
Grüße
Ein anderer Weg, es ohne zu tun, wenn ... dann ... sonst:
test -f /etc/hosts && elcomando
Oder auch
test ! -f /etc/hosts && echo "no se encontró el archivo"
Usw.
Richtig 😀
… O_O… Bist du Hugo, Hugo aus Kuba? … Mit Windows8, WTF !!!
Nun ja, ich mache mich mit diesem Betriebssystem vertraut und wenn ich ehrlich sein muss, ist das einzige, was ich nützlich gefunden habe, der Kopiermanager, ansonsten empfinde ich es persönlich als schmerzhaft, insbesondere die Hybridschnittstelle und die U-Bahn-Anwendungen. Ich mag es weniger als das Vista und das 7 (wenn auch etwas effizienter als diese), was mir auch nicht gefallen hat. Ich benutze es nur, um NFS13 und Skyrim zu spielen, aber dieses Betriebssystem benötigt so viel Platz, dass ich meine Linux-Partition [snif] löschen musste.
Zu Ihrer Beruhigung werde ich Ihnen jedoch mitteilen, dass ich vorgestern die Arch ISO für Januar heruntergeladen habe und beabsichtige, sie in ihrer x86-64-Version zu testen, sobald ich das Repo erhalte (oder?) habe es?). Jetzt, da ich gesehen habe, dass standardmäßig signierte Pakete verwendet werden, habe ich mehr Selbstvertrauen beim Tauchen.
Und mein Vater sagte mir auch, dass er mir ein Sony Xperia schicken würde, das ich nutzen möchte, um etwas Programmieren für Android zu lernen, was ein ausstehender Wunsch war. So beruhige dich, ich bin noch nicht auf die dunkle Seite der Macht gegangen, buahahahaha 😉
Mann Test
Sure.
Wenas! ..
Wir könnten das gleiche machen .. ..aber das Verzeichnis wird als Parameter übergeben ..
if [ -d $1 ];
then
echo "Sí, sí existe."
else
echo "No, no existe"
fi
Und wir nennen es:
./test.sh / opt /
Gruß..
IF ist kein Zyklus xD
Es passt zu mir wie ein Handschuh für ein Drehbuch, das ich mache. Ist es gültig, Platzhalter zu verwenden? Um beispielsweise herauszufinden, ob .mp4s vorhanden sind, führen Sie etwas darauf aus.
if [-f * .mp4];
...
Ja, es ist absolut gültig.
Auch durch Parameter .. "* .mp4"
Zum Beispiel
if [ -f $1 ];
then
rm -r $1
else
ls
fi
Wenn Sie es nennen: ./test.sh * .mp4
Wenn MP4-Dateien gefunden werden, werden sie gelöscht, aber die Dateien in diesem Verzeichnis werden nicht aufgelistet.
Danke für das Feedback und die Tipps! 🙂
Du hast das f xD verpasst
rm -rf $ 1
Das ist aufregender!
Wunderbar !!!, Jeden Tag, an dem ich mich mehr in Linux verliebe, wurde Windows in eine dunkle Ecke meiner Festplatte verbannt, die bald gelöscht wird, um dem Licht von Linux Platz zu machen.
Ausgezeichnet! .. ..dann machen Sie den nächsten Schritt .. und holen Sie es raus ..
Vor 6 Monaten ca. Ich habe nur GNU / Linux auf allen meinen Maschinen und ich brauche nicht mehr .. ..nicht W $ .. oder Wein .. ..und ich bin mehr als glücklich so ..
Und ich infiziere meine Umgebung ... da mich jeder mit meinem Arch sieht, schnell, effizient und glücklich ... und sie bitten mich, Linux zu installieren ... ja! ... 😀
Sie können sie auch auf verschiedene Erweiterungen überprüfen, Sie können so etwas wie verwenden
#! / Bin / bash
Verzeichnis = $ HOME / Downloads
if [$ Directory]; dann
echo "Hier ist eine Liste der Dateitypen:"
echo "mp1, mp2, mp3, mp4, wav, flac, flaad, aud, midi"
ls {* .mp?, *. wav, *. fla, *. aud * .midi}
fi
Mit {} können Sie in diesem Fall mehrere Erweiterungen angeben, indem Sie "?" ist ein Platzhalter, mit dem Sie "Beliebiges Zeichen" nehmen können.
Ich hoffe, dass Sie lernen,
Ich empfehle den Befehl find [Verzeichnis] [Suchmuster] –exec [Befehl] {} \
Es funktioniert nicht, ich lege diese Dateien in das Verzeichnis:
AB20160420.TXT
AB20160421.TXT
AB20160422.TXT
AB20160423.TXT
AB20160424.TXT
AB20160425.TXT
search.sh
#! / Bin / bash
PFAD = / tmp / TEST
cd $ ROUTE
ls -la | awk '{print »« $ 9}'
wenn [[-f AB.TXT]]; dann
echo »Geben Sie die IF ein, wenn AB vorhanden ist.TXT "
fi
if [-f AB20160422.TXT]; dann
Echo "Eingabe für eine bestimmte AB-Datei"
fi
wenn ich [-f AB setze.TXT] gibt einen Fehler aus
wenn ich [[-f AB.TXT]] gibt keinen Fehler aus, kann die Datei jedoch nicht finden
Es funktioniert nur, wenn ich eine bestimmte Datei eingefügt habe, zum Beispiel:
if [-f AB20160422.TXT]; dann
Ich kann es nicht mit Platzhaltern * zum Laufen bringen oder?
#! / usr / bin / env bash
#.Kodierung = utf-8.
KONTSTANTEN
EXIT_OK = 0
EXIT_BAD = 66
BOLD = »\ 033 [1m»
NC = »\ 033 [0m»
ROT = »\ 033 [31m»
wenn [! "$ 1"];
dann
Echo "Parameter fehlt"
Beenden Sie $ EXIT_BAD
fi
CD "$ 1"
files = »ls -h1 $ 1»
für Datei in $ ($ files); tun
echo -e "Mit $ BOLD $ file $ nc können Sie hier alles machen"
erledigt
Beenden Sie $ EXIT_OK
@KZ, erzähl mehr darüber: "Und das liegt daran, dass ich in die wundervolle Welt von Python eintrete"!
HAHAHAHA nah ... Stück für Stück 🙂
Ich bin noch ein Neuling in Python, ich habe kaum Zeit, Stunden und Stunden dafür zu investieren, also bin ich langsam, ja, langsam, aber sicher in meinem Lernen 😀
Vielen Dank. Erst gestern habe ich darüber nachgedacht, wie das geht.
das mit ncurses ist toll 🙂
in einem Wort ... AUSGEZEICHNET!
Lange Zeit perfektionierte ich ein Skript, um Downloads aus dem Internet durchzuführen, aber ich hatte das Problem, dass es die angeforderten Dateien 1 und erneut herunterlud, ohne die Existenz 1ro überprüfen zu können.
Sehr gutes Tuto.
Ein enormer Beitrag, hier aus Chile, wird geschätzt.
Jeden Tag überrascht mich mehr LINUX angenehm,
Es lebe die freie Software MIERDAAAA.
dienen für
Überprüfen Sie, ob eine Datei aus einem Verzeichnis stammt
Wenn ich die Existenz einer Datei in einem Pfad «/ tmp / receive» überprüfen möchte, führen Sie einen Befehl aus. Wie wäre das?
Ich werde sehr dankbar sein
Grüße
Lieber, und um durch IF festzustellen, ob die Datei vollständig ausgefüllt ist ???. Ich frage dies, denn wenn Sie die Datei für eine Übertragung füllen, kann es sogar mit der Hälfte der Daten dauern.
Grüße und vielen Dank für Ihre Antwort.
Nun, ich denke, Sie sollten auch ein Beispiel hinzufügen, wie zum Beispiel "Überprüfen Sie, ob es keine" Datei "oder" Verzeichnis "gibt
Um zu überprüfen, ob es NICHT existiert, verwenden Sie beispielsweise eine Variable->
Ein Verzeichnis
#! / Bin / bash
Verzeichnis = »$ HOME / Testverzeichnis»
Datei = »$ HOME / Testdatei»
wenn [! -d "$ Directory"]; dann
echo "Es gibt kein $ Directory"
echo "Erstellen ->" $ Verzeichnis "
mkdir "$ Directory"
sonst
echo "Verzeichnis" $ Verzeichnis "existiert bereits
fi
wenn [! -d "$ File"]; dann
echo "Datei $ existiert nicht"
Echo "Erstellen ->" $ Datei "
Berühren Sie "$ File"
sonst
Echo "Datei" $ Datei "existiert bereits
fi
Wenn Sie das mkdir ausführen, überprüfen Sie später, ob das Terminal es erstellen kann, da es die Bälle zerbrechen kann, wenn es sich um einen Ordner als Root oder System handelt
Grüße KZKG ^ Gaara eine Abfrage wie ich es tun würde um Curl zu benutzen. Ich würde gerne wissen, wie ich von der Konsole aus eine URL anpinge, um zu sehen, ob sie beispielsweise verfügbar ist http://portal.com/directorio/archivo1.php Wo Datei1 die Besuchs-IPs speichert, muss ich zur Überwachung eines Teams diese PIN jede halbe Stunde erstellen, damit ich über die öffentliche IP informiert bin, da sie sich von Zeit zu Zeit ändert und ich keine Verbindung über ssh herstellen kann.
Grüße danke im Voraus Gott segne dich.
Hallo,
Zunächst müssen Sie sagen, dass die IP-Variable (zum Beispiel) der Inhalt dieser Datei ist. Dazu müssen Sie:
1. Laden Sie die Datei herunter
2. Sehen Sie sich den Inhalt an und holen Sie sich die IP von dort
3. Diese IP ist die Variable
Zum Beispiel:
Hier laden wir die Datei herunter - »wget http://portal.com/directorio/archivo1.php -o Datei.html
Dann weisen wir einer Variablen ihren Inhalt zu: - »: $ {IP: =` cat file.html`}
.. vorausgesetzt, der Inhalt dieser Datei hat nur die IP, wenn nicht, müssten Sie mit grep, awk oder head arbeiten.
Sobald Sie bereits die IP als Variable haben, ist der Rest die einfachste Sache der Welt 🙂
Wenn Sie möchten, schreiben Sie mir per E-Mail (kzkggaara[at]desdelinux[dot]net) Ich helfe Ihnen gerne weiter
Vielen Dank kzkggaara sehr dankbar.
Hallo, ich verstehe nicht viel über Computer und weiß nicht, ob dieser Eintrag mit dem Problem zusammenhängt, das ich habe.
Ich kommentiere, falls Sie mich lesen, obwohl der Beitrag von vor einem Jahr ist:
Es stellt sich heraus, dass ich auf meinem Desktop einen Ordner zum Speichern einiger Videos erstellt habe. Nun, ich habe diese Videos gelöscht, weil ich sie nicht mehr brauchte, und jetzt sagt mir dieser Ordner, dass sie nicht existieren (obwohl sie auf meinem Desktop sichtbar sind).
- Das ist das erste Problem, das ich habe:
Ich kann den Ordner nicht löschen.
- Zweites Problem und ich denke wichtiger:
Beim Versuch, den Ordner zu löschen, habe ich einen PHOTOS-Ordner abgelegt. Wenn ich jetzt den Ordner "existiert nicht" öffne, ist er leer und die FOTOS fehlen.
Wie kann ich die Fotos wiederherstellen? Ich habe die Option im Ordner "Versteckte Dokumente anzeigen" angegeben, aber der Ordner "FOTOS" wird nicht angezeigt.
Ich hoffe du kannst wissen wie es gelöst wird.
Danke.
Es gibt zwei Benutzer, die die Hauptbenutzer sind: root und your_user (z. B. natalia). Sie haben beide persönliche Ordner. your_user in / home und root in / (root-Verzeichnis). Klicken Sie mit der rechten Maustaste auf den Ordner, um zu sehen, wem er gehört. Wenn es sich bei Ihrem Dateimanager um ein Root-Verzeichnis handelt, das je nach verwendeter Umgebung sudo oder gksu oder kdesu verwendet, gehen Sie zum Stammverzeichnis -> root -> Desktop. Dort finden Sie wahrscheinlich die Fotos und können den Ordner löschen. Einige Distributionen, wenn Sie nicht der Eigentümer der Datei oder des Verzeichnisses sind und keine Zugriffsberechtigungen haben, weisen darauf hin, dass Verzeichnis / Datei nicht vorhanden ist. Wenn Sie der Eigentümer sind und kein Root sind, machen Sie dasselbe mit dem Dateimanager mit sudo usw. und gehen Sie zum Stammverzeichnis -> / home -> personal_folder -> Desktop und prüfen Sie, ob die Fotos vorhanden sind und ob Sie sie löschen können der Ordner.
Wenn dies nicht funktioniert, müssen Sie andere Optionen vom Terminal (Konsole) aus sehen.
Hallo, wie geht es dir? Ich mache einen Job in Bash und möchte wissen, wie ich überprüfen kann, ob beispielsweise ein Verzeichnis über die Tastatur eingegeben wurde
#! / Bin / bash
Route lesen
#Enter ~ / Desktop
#Dann versuche ich, in diesem Verzeichnis zu navigieren
cd $ path
# Ich erhalte die folgende Bash-Nachricht: cd: ~ / Desktop: Die Datei oder das Verzeichnis existiert nicht
Meine Frage ist, was kann ich tun, damit ich es über die Tastatur eingebe und es als Verzeichnispfad nehme?
Und wie kann ich wissen, ob eine Gruppe existiert?
Gut, ich habe ein Problem in meinem Canaima, wenn ich den Knopf Cunaguaro drücke. Es heißt, dass es keine Datei oder kein Verzeichnis gibt, wie es zur Lösung dieses Problems tun würde, und der Rest öffnet Cunaguaro nicht. Bitte danke.
Wie macht man das if in BASH, wenn der Dateiname Leerzeichen enthält?
Zum Beispiel:
April data.xlsx
Um zu fragen, ob die Datei existiert
Carlos, so:
if [["$ variable" == Daten \ Monat \ von \ April.xlsx]]; dann echo 'match'; fi
Sie können auch:
if [["$ variable" == 'Daten für den Monat April.xlsx']]; dann echo 'match'; fi
Eine andere Option:
[["$ Variable" == 'Daten für April.xlsx']] && echo 'Übereinstimmungen' || Echo 'stimmt nicht überein'
In einigen dunklen Bereichen des Internets wird empfohlen, [[]] anstelle von [] zu verwenden. Wenn Sie Zahlen vergleichen möchten, gilt Folgendes: ((Variable> = 3)) && echo 'Variable ist größer oder gleich 3' | | echo 'Variable ist kleiner als 3'
Daher für Zahlen:
if ((number! = 4)); dann echo "$ {number} ist nicht 4"; sonst echo "$ {number} is 4"; fi
Wie können Sie einen Code erstellen, um zu überprüfen, ob das Verzeichnis einen bestimmten Text enthält, um ihn bearbeiten zu können?
Beispiel:
if (text1)
nichts tun
sonst
Ändern Sie text1 in text2
eine Frage, wie wäre es, alle 15 Sekunden zu überprüfen, ob die Datei existiert oder nicht, danke.
Hallo,
diese:
if [-w / home / Komun / Logs / ti]; dann
Finden Sie heraus, ob die Datei beschreibbar ist. Es basiert jedoch auf Benutzerberechtigungen. Kann man herausfinden, ob die Gruppe oder die anderen Berechtigungen haben?