私はGame Elf JAMMAボード(412-in-1)のハイスコアの保存に取り組んでいます。私は現在 このチュートリアル をフォローしています。このコマンドを実行しようとしています
mv hiscore(pre_mame0133u1).dat /mnt/three/usr/local/share/xmame/hiscore.dat
my screenshot で確認できるように、エラーが返されます
bash:予期しないトークン '('に近い構文エラー
bash: syntax error near unexpected token '('
escape 括弧が必要です:
mv hiscore\(pre_mame0133u1\).dat /mnt/three/usr/local/share/xmame/hiscore.dat
注意:
今後の参考のために、 ShellCheck を使用してbashコードのバグを見つけることができます。未修正のスクリプトを入力すると、次のようになります。
$ shellcheck myscript
Line 1:
mv hiscore(pre_mame0133u1).dat /mnt/three/usr/local/share/xmame/hiscore.dat
^-- SC2148: Tips depend on target Shell and yours is unknown. Add a Shebang.
^-- SC1036: '(' is invalid here. Did you forget to escape it?
^-- SC1088: Parsing stopped here. Invalid use of parentheses?
最初のエラーを修正する:
$ shellcheck myscript
Line 1:
mv hiscore\(pre_mame0133u1).dat /mnt/three/usr/local/share/xmame/hiscore.dat
^-- SC2148: Tips depend on target Shell and yours is unknown. Add a Shebang.
^-- SC1089: Parsing stopped here. Is this keyword correctly matched up?
そして、2番目のエラーを修正します。
$ shellcheck myscript
Line 1:
mv hiscore\(pre_mame0133u1\).dat /mnt/three/usr/local/share/xmame/hiscore.dat
^-- SC2148: Tips depend on target Shell and yours is unknown. Add a Shebang.