W wierszu polecenia, mam to:
$ FOO=foo
$ echo $FOO
foo
$ echo $$FOO
11971FOO
Tutaj $$ postanawia PID powłoki zgodnie z oczekiwaniami i „foo” jest drukowany dosłownie.
Teraz, starając się zrozumieć i debugowania niektóre skrypty, znaleźć następujące:
#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $$FILE1 >> $$FILE2
Skrypt ten pochodzi ze skryptu postinstall pakietu Debiana. Czy ma to zostać poddane wstępnemu przetwarzaniu, zanim będzie można je uruchomić?
Aktualizacja: Skrypt jest częścią pakietu zbudowanego z EPM i odczytywane za pomocą następującej dyrektywy:
%postinstall <script.sh
w pakietach deb, skrypt postinst brzmi:
#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $FILE1 >> $FILE2
Tak więc przetwarzanie jest wykonywane przez epm lub dpkg.
Dla mnie wygląda to na sposób utworzenia katalogu, którego nazwa nie koliduje z żadnym istniejącym. – fedorqui
Jeśli to rzeczywisty skrypt, to prawie na pewno ma być przetwarzane. Nie można jednak powiedzieć na pewno, bez większego kontekstu. – chepner
Er, wstępnie przetworzone. – chepner