Auf der Kommandozeile, bekomme ich diese:
$ FOO=foo
$ echo $FOO
foo
$ echo $$FOO
11971FOO
Hier löst $$ an die PID der Schale als erwartet und „FOO“ wörtlich gedruckt.
Nun versuchte einige Skripte zu verstehen und zu debuggen, finde ich folgende:
#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $$FILE1 >> $$FILE2
Das Skript in Frage stammt von einem Scripts für ein Debian-Paket. Soll es vorverarbeitet werden, bevor es laufen kann?
Update:
%postinstall <script.sh
Im resultierenden deb-Paket liest die postinst Skript:
#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $FILE1 >> $FILE2
Das Skript ist Teil eines Pakets mit epm und lesen Sie über die folgende Richtlinie gebaut Die Verarbeitung erfolgt also entweder durch epm oder dpkg.
Für mich sieht dies wie eine Möglichkeit aus, ein Verzeichnis zu erstellen, dessen Name nicht mit einem vorhandenen kollidiert. – fedorqui
Wenn das ein tatsächliches Skript ist, dann ist es fast sicher, dass es nachbearbeitet wird. Es ist jedoch unmöglich, dies ohne mehr Kontext zu sagen. – chepner
Er, vorverarbeitet. – chepner