• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Sonderzeichen in der MacOSX-Bash

  • Ersteller Schnapper
  • Erstellt am

Schnapper

Gast
Guten Morgen, ihr Lieben!


Kann mir einer erklären, wie ich meine bash dazu überreden kann, Sonderzeichen darzustellen?

Beispiel: Wenn ich die Taste "Ö" drücke, dann hätte ich auch gerne, dass das als das Zeichen 'ö' interpretiert wird, und nicht etwa als das Zeichen '\303\266', weil ich das echt ziemlich uncool finde...

:cool:
 

MatzeLoCal

Rheinischer Bohnapfel
Registriert
05.01.04
Beiträge
2.422
Windows Settings -> Display und hier "Character Set Encoding".
 

Schnapper

Gast
Hmm, steht schon auf Unicode! Sollte eigentlich klappen, und die anderen Einstellungen nützen auch nix...blöd, gelle?
 

Schnapper

Gast
Hmm, muss ich vielleicht in der bashrc noch irgendwas eintragen? Weil, die Fenstereinstellungen betreffen ja nur die Darstellung der bash, aber vielleicht ist's die bash selber, die mit den Sonderzeichen hier nix anfangen kann?

Tastatureinstellungen sinds nicht, weil ansonsten die SOnderzeichen funktionieren
 

Macholino

Adams Parmäne
Registriert
02.08.04
Beiträge
1.303
Da gibt es einen Thread hier, ich such ihn dir mal raus.

--

Hhmmm, das ist ja merkwürdig, hat den einer geklaut? Wo sind die Admins? Ich habe aus der Abteilung Unix & Terminal genau diese Anleitung einmal gesucht und gefunden.

Wahrscheinlich werde ich nur noch 2 Stunden online sein, dann erst wieder nach dem Wochenende. Wenn es bis Montag keine Lösung gibt, schicke ich Dir einen Auszug meiner .bashrc.
 

Schomo

Zehendlieber
Registriert
15.11.04
Beiträge
4.118
Text Edit öffnen.
In reinen Text umwandeln

Eingeben:
set meta-flag On
set input-meta On
set convert-meta Off
set output-meta On
set show-all-if-ambiguous On

Korrektur: (SORRY! Hab es grad korrigiert! Jetzt ist es oben richtig)

Dann als inputrc.txt sichern. Im Finder Datei markieren, dann Apfel + i und die Datei in .inputrc umbenennen dann 2 x Ok eingeben. Manchmal weigert sich der Finder die Datei umzubennen, dann wie unten vorgehen, nach der Erstellung der Textdatei:


1. Im Terminal den Befehl cd eingeben.
2. Dann den Befehl eingeben:
mv inputrc.txt .inputrc
3. Terminal beenden und Terminal neustarten

Stammt übrigens von Marcel Bresink (Tinkertool) Nochmals Dank an Ihn. er ist ab und zu auch im AT Forum. http://www.bresink.de

Bin grade auf einen schweren Bug gestoßen. Wenn man wie ich aus Versehen die .inputrc falsch schreibt und ü eingibt kommt man an das Userpasswort ran! WAHNSINN!!!!!


Gruß Schomo
 
Zuletzt bearbeitet:

mullzk

Linsenhofener Sämling
Registriert
04.01.04
Beiträge
2.529
Schomo schrieb:
Bin grade auf einen schweren Bug gestoßen. Wenn man wie ich aus Versehen die .inputrc falsch schreibt und ü eingibt kommt man an das Userpasswort ran! WAHNSINN!!!!!
jetzt verarschst du uns, oder :eek: :eek:
oder wie meinst du das mit ans userpasswort rankommen, echo $PASSWORD wird ja wohl kaum funktionieren...
 

Schomo

Zehendlieber
Registriert
15.11.04
Beiträge
4.118
Nee, is kein Scheiss, ich hatte aus versehen was Falsches gepostet, weil ich gehudelt hab. Hab es ja auch gleich korrigiert. Ich hab es dann blöderweise - wie man es nimmt;) bei mir ausprobiert, und bin so draufgekommen. Ich poste die falsche Version bewusst nicht. Ich kann sie die gerne per Mail o.Ä. dir zu kommen lassen, dann kannst du es ausprobieren. Ich hab ziemlich gestaunt. Wenn du ä drückst, kommt auch eine äusserst seltsame Darstellung. Keine Ahnung, was da abgeht!

Ich mein das echt ernst. Vielleicht bin auch nur zu blöde...

Gruß Schomo
 

Binary

Gast
Na jetzt ma Butter bei die Fische hier!

Poste mal was du gefunden hast, damit mers Überprüfem können.

lg
Binary
 

Schnapper

Gast
ja, das will ich jetzt aber auch wissen!
Und nebenbei bemerkt: Warum geht ihr so'n Umweg, um eine Textdatei namens .inputrc zu erstellen?

Da macht man einfach ne shell auf, tippt
"pico .inputrc", tippt den Inhalt und drückt STRG+X und schon hat mans! Das gefrickel mit dem Texteditor und dann umbennen usw kann man sich echt sparen! Aber danke für die inputrc ;)
 

Schomo

Zehendlieber
Registriert
15.11.04
Beiträge
4.118
Jaaaa, hab ich ja auch gemacht mit pico, hab es nur vergessen gehabt zu posten, weil ich die Anleitung mal aufgeschrieben hatte, deswegen bin ich auch drauf gekommen, weil ich bei copy und paste geschludert hatte. Wie gesagt öffentlich poste ich den Bug nicht, aber wenn ihr mir eine E-Mail schickert, kriegt ihr das File.

Gruß Schomo
 

Binary

Gast
Also,

Entwarnung.
Ich erlaube mir hier den Bug von Schomo (vielen dank für die Mail!), so wie ich ihn reproduzieren konnte, zu Posten.

Wenn mann statt:

set meta-flag On
set input-meta On
set convert-meta Off
set output-meta On
set show-all-if-ambiguous On

folgendes in die .inputrc schreibt:

set meta-flag On
set input-flag On
set convert-flag Off
set output-flag On
set show-all-if-ambiguous On

und unter der Option Fenstereinstellungen bei Emulation Nicht ASCII Zeichen in Escape-Sequenz umwandeln deaktiviert
(Schomo),


erhält man eine Ausgabe folgender art:

BASH LINENO RANDOM
BASH_VERSINFO LINES SECONDS
BASH_VERSION LOGNAME SECURITYSESSIONID
COLUMNS MACHTYPE SHELL
DIRSTACK MAILCHECK SHELLOPTS
EUID OPTERR SHLVL
GROUPS OPTIND TERM
HISTCMD OSTYPE TERM_PROGRAM
HISTFILE PATH TERM_PROGRAM_VERSION
HISTFILESIZE PIPESTATUS UID
HISTSIZE PPID USER
HOME PS1 _
HOSTNAME PS2 __CF_USER_TEXT_ENCODING
HOSTTYPE PS4
IFS PWD

wenn man "ä" drückt, ausserdem funktioniert das "e" nicht mehr und ein druck auf das "ü" produziert die Zeichenfloge "gr".

Bei der Ausgabe handelt es sich um die System Umgebungsvariablen.
Diese kann man sich mit dem befehl "echo $<Name> anzeigen lassen.
Also z.B. >echo $PWD
/Users/Username

gibt den aktuellen Pfad aus (befehl pwd).

>echo $PS1
\h:\w \u\$
zeigt die konfig des kommando Promts an.

Ich weiss jetzt nicht wie der Befehl lautet um die gesetzten Variablen
zu zeigen (normal nehme ich "env") und kann mir das nur so erklären, dass
die nicht mehr funktionierended escapesequenz auf dem "ä" zufällig jenen Befehl auslöst.

lg
binary
 

Macholino

Adams Parmäne
Registriert
02.08.04
Beiträge
1.303
Früher hat's mal funktioniert, heute nicht. Ich habe für meine Umlaute immer noch lauter ?? als Platzhalter, obwohl meine .inputrc genauso aussieht wie von Schomo oben im Thread mit TextEdit beschrieben hat.

Allerdings habe ich die Datei vim editiert.
 

Macholino

Adams Parmäne
Registriert
02.08.04
Beiträge
1.303
Meinst Du das?
MacMark schrieb:
In Deiner Shellkonfiguration kannst Du dies probieren:
Code:
 LC_ALL=en_US.UTF-8
 export LC_ALL
 
 LANG=en_US.UTF-8
 export LANG

Wahlweise auch mit de_DE.UTF-8 ;)

Ich nehme an, das gehört in die .bashrc?
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Die .bash_profile wird aufgerufen, wenn die bash als login shell gestartet wird, also durch neue Session von Terminal.app.
Die .bashrc wird aufgerufen, wenn die bash als nicht-login-shell gestartet wird, also wenn man 'bash' tippt, um einen neue sub-shell zu starten.

Im folgenden ist gezeigt, daß man bei beiden Varianten die gleiche Umgebung vorfindet, da hiermit die .bashrc immer aufgerufen wird (zur Not von der .bash_profile):

In meiner .bash_profile steht dieses, wobei die erste Zeile für den Aufruf interessant ist ;) :
Code:
. .bashrc
alias ls='ls -vw'
alias m2u="tr '\015' '\012'"
alias u2m="tr '\012' '\015'"
test -r /sw/bin/init.sh && . /sw/bin/init.sh

In meiner . bashrc dieses:

Code:
LC_ALL=en_US.UTF-8
export LC_ALL

LANG=en_US.UTF-8
export LANG

PATH=/usr/local/php5/bin:/usr/local/php5/man:$PATH

PATH=/usr/local/:/usr/local/bin:/usr/local/sbin:/Developer/Tools:
/usr/local/share/man:/sw/share/man:/usr/local/mysql/bin:
/usr/local/mysql/man:$PATH
export PATH

In der .inputrc
Code:
set meta-flag on
set convert-meta off
set output-meta on
set completion-ignore-case on
set show-all-if-ambiguous on
 
Zuletzt bearbeitet:

Schnapper

Gast
Hi,

das klappt schonmal, was das Tippen in der Shell betrifft. Legt man aber jetzt einen Ordner an namens, keine Ahnung, von mir aus "öse", dann sieht der bei 'ls' aber so aus:

o??se

im Finder hingegen richtig. Also scheinbar wird das ö richtig gesetzt, aber im Dateilisting falsch dargestellt. Bekommt man das auch noch hin?
 

Macholino

Adams Parmäne
Registriert
02.08.04
Beiträge
1.303
Das sieht ja prima aus. Nur mal eine kurze Verständnisfrage, während ich mal einiges in mein Terminal tippe.

Ich will die Umlaute und Sonderzeichen sichtbar haben, das heißt, nicht en_EN kommt für mich in Frage, sondern nur de_DE, oder?
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Schnapper schrieb:
Hi,

das klappt schonmal, was das Tippen in der Shell betrifft. Legt man aber jetzt einen Ordner an namens, keine Ahnung, von mir aus "öse", dann sieht der bei 'ls' aber so aus:

o??se

im Finder hingegen richtig. Also scheinbar wird das ö richtig gesetzt, aber im Dateilisting falsch dargestellt. Bekommt man das auch noch hin?

Yes, Sir :)
Mit
Code:
ls -w

Du kannst aber auch in der .bash_profile einen Alias setzen, so daß ls immer als ls-w ausgeführt wird:
Code:
alias ls='ls -w'

Ich habe meinen obigen (Listing-) Beitrag korrigiert und den Alias für ls dort nun auch angegeben.

Boldly go ;)
 

Macholino

Adams Parmäne
Registriert
02.08.04
Beiträge
1.303
Na, das ist doch mal eine muntere Diskussion. Jetzt muss ich nur noch wieder finden, wie ich das Terminal farbig bekommen kann. Verzeichnisse, ausführbare Dateien etc. in unterschiedlichen Farben.

Falls es jemand weiß (...), suche ich gar nicht weiter.