私は現在、いくつかの firebird データベースからの小さなバックアップ スクリプトに取り組んでおり、解決できないと思われる奇妙なエスケープの問題を思いつきました。これが私のスクリプトで、一連のコマンドの出力を入れたい sqllog という変数を作成することです。
sqllog=`echo "SELECT * FROM RDB\$DATABASE;" | isql -u SYSDBA -pass mypasswd localhost:mydatabase | tail -n 2 | head -n 1 | wc -l`
これをシェルで実行しようとすると、次のエラーが発生します
Statement failed, SQLCODE = -204
Dynamic SQL Error
-SQL error code = -204
-Table unknown
-RDB
-At line 1, column 15.
テーブルが不明な RDB は、$ をエスケープするのに時間がかからなかったことを意味します。
任意の助けのためのthx :)