Angenommen, ich habe einige Konfigurationsdaten in einer Datei config
. Der Einfachheit halber möchte ich diese Daten in eine Shell-Variable laden CONFIG_DATA
.
Natürlich kann ich:
CONFIG_DATA="$(cat config)"
Aber das fühlt sich für mich irgendwie nutzloscat
an. Ist dies der einzige Weg, dies zu tun? Oder gibt es einen eleganteren Weg, dies zu tun?
Antworten sollten POSIX bevorzugen, können aber jede Shell verwenden.
shell-script
shell
io-redirection
strugee
quelle
quelle
Antworten:
Zumindest in Bash und der Z-Shell gibt es einen schnelleren Weg:
Um aus der Manpage der Bourne Again-Shell zu zitieren:
quelle
$(<file)
ist es viel seltener, so dass es zu viel mehr WTFs führen kann. und der Geschwindigkeitsgewinn aus dieser Operation, wenn eine solche Konfiguration in eine Variable geladen werden soll, ist wahrscheinlich vernachlässigbarfor i in $(cat file); do ...
ein anderes. Dass sie häufig vorkommen, ist kein Grund, weiterhin schlechte Werkzeuge zu verwenden. Was nicht heißt, dass diese besondere Verwendung von Katze ein schlechtes Tooi ist, ich bin mir nicht sicher, ob es einen tragbareren Weg gibt. Ich sage nur, dass allgemein und vertraut! = Gut.