bash: syntax error near unexpected token '('
Você precisa escapar dos parênteses:
mv hiscore\(pre_mame0133u1\).dat /mnt/three/usr/local/share/xmame/hiscore.dat
Nota:
Para referência futura, você pode usar ShellCheck para encontrar bugs no seu código bash. Digitar o script não corrigido fornece o seguinte:
$ 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?
Corrigindo o primeiro erro:
$ 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?
E corrigindo o segundo erro:
$ 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.
Leitura Adicional
- Um índice A-Z da linha de comando do Bash para Linux - Uma excelente referência para todas as coisas relacionadas à linha de comando do Bash.
- cotação de sintaxe - Caracteres de escape, delimitadores e citações