![Bash-Prozesssubstitution funktioniert unter OS X nicht als „Root“.](https://rvso.com/image/23952/Bash-Prozesssubstitution%20funktioniert%20unter%20OS%20X%20nicht%20als%20%E2%80%9ERoot%E2%80%9C..png)
Wenn ich unter OS X 10.6.8 die Bash-Prozessersetzung als „Root“ verwende, funktioniert es einfach nicht.
- Soll das so sein?
- Warum?
Hinweis: Folgendes meine ich … „<(Liste)“
mysql -D robottinosino < <(echo 'select robot from tino_sino;')
/* zugegebenermaßen ein konstruiertes Beispiel, da man Echo und MySQL mit einer einfachen Pipe vertauschen könnte ... mir fällt spontan kein besseres ein */
BEARBEITEN:
Ich melde mich als Root wie folgt an:
„sudo su -“
(gibt es übrigens einen besseren Weg, wenn ichbleibeneingeloggt sein?)
- Ich binnichtauf Bash, also ist meine Frage wirklich dumm und der Kommentar unten hat das Problem sofort erkannt! :(
echo $0 ergibt "-sh" :(
Ich schätze, diese Frage könnte an dieser Stelle einfach gelöscht oder wie folgt umgewandelt werden:
„Wie melde ich mich mit Bash richtig als ‚root‘ an?“ (Vielleicht /private/etc/passwd bearbeiten? Das scheint nicht zu funktionieren. Oder … sudo bash -l?)
Antwort1
Wenn Sie die Shell ändern möchten, führen Sie auschsh -s /bin/bash
Wenn Sie die Shell einmalig ausführen möchten, während Sie als Root angemeldet sind, führen Sie einfach bash
oder aus./bin/bash
chsh
nach dem Ändern der Roots-Shell:
# Changing user information for root.
# Use "passwd" to change the password.
##
# Open Directory: /Local/Default
##
Login: root
Uid [#]: 0
Gid [# or name]: 0
Generated uid: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000000
Home directory: /var/root
Shell: /bin/bash
Full Name: System Administrator
Office Location:
Office Phone:
Home Phone:
Antwort2
Wenn Sie Bash nicht verwenden, können Sie diese Bash-Funktion nicht verwenden.
Sie könnten sudo bash
stattdessen mit der Verwendung von „root“ beginnen oder sudo bash -l
sich mit einer Login-Shell als Root anmelden, um die Bash-Konfiguration zu lesen.