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.

2
Wie werden Klammern in der Befehlszeile interpretiert?
Beim Lesen des Einrichtungshandbuchs stieß grubich auf einen Artikel, in dem behauptet wurde, ich müsse eine der folgenden beiden Syntaxen verwenden: echo \(hd0,0\) >> /boot/grub/grub.conf oder echo '(hd0,0)' >> /boot/grub/grub.conf weil in der Befehlszeile Klammern auf besondere Weise interpretiert werden. Was ist das Besondere an den Klammern? Wie werden sie …
45 bash  shell  quoting 

5
mv: Verschiebt die Datei nur, wenn das Ziel nicht existiert
Kann ich es so verwenden mv file1 file2, dass es nur dort ankommt file1, file2wo file2es nicht existiert? ich habe es versucht yes n | mv -i file1 file2 (Hier können Sie mvfragen, ob file2 überschrieben werden soll, und automatisch mit no antworten), aber neben dem Missbrauch werden -imir auch …
44 shell  files  mv 



10
mach meine zsh prompt show mode im vi mode
Ich benutze bindkey -v(für bash-er set -o videnke ich, dass das auch in zsh funktioniert) oder vi (m) Modus. aber es stört mich, dass ich keinen visuellen Anhaltspunkt habe, um mir zu sagen, ob ich mich im Einfüge- oder im Befehlsmodus befinde. Weiß jemand, wie ich meine Eingabeaufforderung veranlassen kann, …
44 shell  prompt  zsh 


7
Was ist eine gute Mnemonik für Shell-Anführungszeichen?
Ich schreibe nicht genug Skripte, um mich zu erinnern, ob doppelte oder einfache Anführungszeichen dazu führen, dass eine Unix-Variable ersetzt wird, ohne nachzuschauen. Ich verstehe auf jeden Fall, was los ist. Meine Frage ist, ob jemand einen Gedächtnistrick hat, um die richtige Anführungsregel in meinem Kopf festzuhalten?

1
Dateien ohne Endung finden
Angenommen, ich habe: foo.txt bar baz.ooo Wenn ich das benutze ls -1 !(*.*)dann komme ich erst barauf den ausgang. Großartig, jetzt möchte ich die gleichen Ergebnisse mit find erzielen - einige find -regex, die den Job erledigen. HINWEIS: find -name !(*.*)ist nicht die Antwort, da !(*.*)es immer noch Bashs Glob …
43 bash  shell  find  wildcards 

4
Zeigen Sie PATH auf eine für Menschen lesbare Weise
Ich möchte meine PATH-Umgebungsvariable besser lesbar anzeigen. $ echo $PATH /Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin:/Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin:/Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/arturo/.rvm/bin:/usr/local/git/bin:/Users/arturo/.gvm/groovy/current/bin:/Users/arturo/.gvm/grails/current/bin:/Users/arturo/.gvm/griffon/current/bin:/Users/arturo/.gvm/gradle/current/bin:/Users/arturo/.gvm/lazybones/current/bin:/Users/arturo/.gvm/vertx/current/bin:/Users/arturo/.gvm/bin:/Users/arturo/.gvm/ext:/usr/local/git/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin Ich denke in etwa so: $ echo $PATH | some cut and awk magic /Users/arturo/.rvm/gems/ruby-1.9.3-p392/bin /Users/arturo/.rvm/gems/ruby-1.9.3-p392@global/bin /Users/arturo/.rvm/rubies/ruby-1.9.3-p392/bin /Users/arturo/.rvm/bin ...


4
So drucken Sie "$" in here-document
Wie kann ich "$" in einem Here-Doc in Bash ausgeben? Zum Beispiel möchte ich eine Datei mit dem Inhalt auf einem entfernten Server haben $ABC=home_dir. $ ssh hostname sudo -s <<EOF echo "$ABC=home_dir" > file EOF Aber es würde als Variable behandelt. Wie kann ich ein Literal drucken $?
42 bash  shell  quoting 



2
Wie funktioniert "cat <> file"?
cat &lt; filedruckt den Inhalt der Datei nach stdout. cat &gt; fileliest stdin, bis Ctrl+ Derkannt wird und der Eingabetext in die Datei geschrieben wird . cat &lt;&gt; fileDruckt, zumindest in meiner Version von Bash, den Inhalt der Datei zufriedenstellend (ohne Fehler), ändert jedoch weder die Datei noch den Änderungszeitstempel. …

7
Warum stimmt [AZ] mit Kleinbuchstaben in Bash überein?
In allen mir bekannten Shells werden rm [A-Z]*alle Dateien entfernt, die mit einem Großbuchstaben beginnen. Mit bash werden jedoch alle Dateien entfernt, die mit einem Buchstaben beginnen. Da dieses Problem unter Linux und Solaris mit bash-3 und bash-4 besteht, kann es sich nicht um einen Fehler handeln, der durch einen …
42 bash  shell  wildcards  locale 

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.