が、私はこれを取得:期待と「FOO」がそのまま印刷されてここで
$ FOO=foo
$ echo $FOO
foo
$ echo $$FOO
11971FOO
を、$$シェルのPIDに解決されます。
さて、いくつかのスクリプトを理解し、デバッグしようと、私は次を見つける:問題の
#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $$FILE1 >> $$FILE2
スクリプトは、Debianパッケージのポストインストールスクリプトに由来します。これは実行する前に前処理を行うことになっていますか?
更新:スクリプトがEPMで構築されており、次のディレクティブを介して読み出さパッケージの一部です:
%postinstall <script.sh
たdebパッケージでは、にpostinstスクリプトが読み:
#!/bin/bash
FILE1=/path/to/file/1
FILE2=/path/to/file/2
echo $FILE1 >> $FILE2
したがって、処理はepmまたはdpkgによって行われます。
私にとって、これは名前が既存のものと衝突しないディレクトリを作成する方法のようです。 – fedorqui
これが実際のスクリプトであれば、ほぼ確実に後処理が行われます。しかし、文脈がなくても、確かに言うことは不可能です。 – chepner
Er、前処理済み。 – chepner