移植可能なシェル スクリプトの書き方を学ぼうとしています。そのために、個人用ユーティリティを bash から sh (私のシステムではダッシュ) に移行し始めています。ただし、デバッグ モードでスクリプトを実行しようとすると、常にエラーが発生します。$ dash -x script
たとえば、このスクリプトでは:
#!/bin/sh
echo hi
as: として実行すると$ dash script
、「hi」文字列が返されますが、次のように実行した場合、またはecho の前にコマンド$ dash -x script
を追加した場合:set -x
#!/bin/sh
set -x
echo hi
次のエラーで失敗します。
script.sh: 3: script.sh: 不適切な置換
これにより、スクリプトのデバッグが非常に困難になります。ダッシュ0.5.7-2ubuntu2でubuntu 12.04を実行しています