Als «shell» getaggte Fragen

Die Shell ist die Befehlszeilenschnittstelle von Unix. Sie können Befehle interaktiv in eine Shell eingeben oder Skripts schreiben, um Aufgaben zu automatisieren. Verwenden Sie dieses Tag für Fragen zu / bin / sh und den meisten kompatiblen Shells (ash, bash, ksh, zsh,…). Überprüfen Sie Shell-Skripte mit Fehlern auf http://shellcheck.net, bevor Sie sie hier veröffentlichen.

1
Exploit in Bash Script Parameter möglich?
Ich möchte eine E-Mail-Adresse aus einem Webformular an ein Bash-Skript übergeben. Ich verwende den folgenden regulären Ausdruck: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}/ Ist das ausreichend Oder könnte man einen Exploit einbetten? Das Skript wird von PHP aufgerufen: system('/usr/local/bin/script.sh "$email"');




2
Verwendung einer nicht standardmäßigen Anmeldeshell für die SSH-Anmeldung
Ich arbeite derzeit in einem Netzwerk, das LDAP zur Authentifizierung verwendet. Nachdem zshich mich als Login-Shell festgelegt hatte, stieß ich auf das Problem, Fernzugriff sshauf einen der Computer im Netzwerk zu erhalten, der anscheinend nicht zshinstalliert war. Die Anmeldung schlägt mit fehl Dec 8 19:16:11 abert sshd[20649]: User sorokine not …
9 shell  ssh  login 

5
Überprüfen Sie, ob alle aufgelisteten Pakete in bash installiert sind
Meine Binärdatei hängt von diesen Boost-Bibliotheken und den entsprechenden Paketen ab: NAME | PACKAGE: --------------------------------------+----------------------------------- libboost_serialization.so.1.55.0 | libboost-serialization1.55.0 libboost_thread.so.1.55.0 | ibboost-thread1.55.0 libboost_date_time.so.1.55.0 | libboost-date-time1.55.0 libboost_signals.so.1.55.0 | libboost-signals1.55.0 Daher möchte ich eine Liste von Paketen definieren: boostlibnames="libboost-serialization1.55.0 libboost-thread1.55.0 libboost-date-time1.55.0 libboost-signals1.55.0" Und jetzt möchte ich überprüfen, ob sie alle installiert sind und …
9 shell  apt  dpkg 




2
if-Befehl in find -exec
Ich habe nur versucht, alle Verzeichnisse und Dateien im aktuellen Verzeichnis aufzulisten und auch zu schreiben, ob es sich um Dateien oder Verzeichnisse handelt, mit dem folgenden Befehl: find -exec echo `echo {} : ;if [ -f {} ]; then echo file; else echo directory;fi` \; Ich weiß, dass es …

2
Wie bekomme ich die UUID des Dateisystems mit einem Pfad?
Mir wird ein Pfad eines Verzeichnisses oder einer Datei übergeben. Welches Dienstprogramm / Shell-Skript gibt mir zuverlässig die UUID des Dateisystems, in dem sich dieses Verzeichnis / diese Datei befindet? Mit UUID des Dateisystems meine ich den UUID=...Eintrag, wie zblkid Ich benutze Redhat Linux. (Jemand schlug vor, dies hier unter …


3
Wie erfasse ich stdin in einer Variablen, ohne nachfolgende Zeilenumbrüche zu entfernen?
In einem Shell-Skript ... Wie erfasse ich stdin in einer Variablen, ohne nachfolgende Zeilenumbrüche zu entfernen? Im Moment habe ich versucht: var=`cat` var=`tee` var=$(tee) In allen Fällen $varwird nicht die nachfolgende Newline des Eingabestreams angezeigt. Vielen Dank. AUCH: Wenn die Eingabe keinen nachgestellten Zeilenumbruch enthält, darf die Lösung keinen hinzufügen …

6
Verwenden Sie eine Shell, die nicht auf einem Remotecomputer installiert ist
Angesichts des Szenarios: Remote- Computer: SSH-Server; Benutzer hat keine Administratorrechte; Lokaler Computer: SSH-Client; Benutzer hat Administratorrechte. Wenn Benutzer , um die Anmeldung Remote von lokalen , zu interagieren möchte remote auf eine Shell nicht installiert mit Fernbedienung , wie können Benutzer erreichen dies allein? Beispiel: Der Benutzer verwendet fish auf …

1
Starten der Prozess-ID außer Befehl mit "su -c"
Ich führe ein Java-Programm in einer Shell aus und schreibe die Prozess-ID in eine Textdatei. Also, wenn ich das mache: nohup java app.Main > /dev/null 2>&1 & echo $! > /var/run/app.pid Es klappt. Aber ich möchte es wirklich als ein anderer Benutzer ausführen su - appuser -c "nohup java app.Main …
9 bash  shell  su 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.