Problemas ao executar um script de shell

0

Sou novo no Linux.

Recentemente eu comprei um VPS para hospedar um servidor teamspeak. Estou executando o Ubuntu 14.04. Tudo está bem, mas eu preciso executar um script chamado ts3recover.sh :

#! /usr/bin/env bash
# init
function pause(){
   read -p "$*"
}
/usr/bin/clear
echo "This script replaces the serveradmin password to reenable access
to your server. Use this script at your own risk.

Feel free to improve or extend this script. Share your modifications
on teamspeak forums (http://forum.teamspeak.com). Thank you.

Press any key to continue or ctrl+c to cancel..."
pause

echo "Current serveradmin and crypted password:"

sqlite3 ts3server.sqlitedb <<SQL_1
.header ON
SELECT client_login_name, client_login_password 
  FROM clients 
  WHERE client_id='1';
SQL_1

sqlite3 ts3server.sqlitedb <<SQL_2
UPDATE clients
  SET client_login_password = "r5oBZ3Z8s8IqjiEJ/k3o9dkSUgU=" 
  WHERE client_id = "1";
SQL_2

echo "updated entry:"

sqlite3 ts3server.sqlitedb <<SQL_3
SELECT client_login_name, client_login_password
  FROM clients
  WHERE client_id='1';
SQL_3

echo "
Server Query Admin Acccount replaced

 Password: ykN+zfqD

 NOTE:  This password has been copied from another database and is
        not safe. Update it directly after logging into your query
        console. Use the clientsetserverquerylogin command.
        You can enter help clientsetserverquerylogin for details.

"

Infelizmente, quando tento executá-lo, tenho isso retornado.

---@-----:/usr/local/teamspeak# ./ts3recover.sh
: No such file or directory

Mas

---@-----:/usr/local/teamspeak# file ts3recover.sh
ts3recover.sh: a /usr/bin/env bash5 script, ASCII text executable, with CRLF line terminators

Eu pesquisei em relação a esse problema e instalei muitas bibliotecas de 32 bits (acho que é como elas são chamadas), mas sem sucesso! Não será executado!

Qualquer ajuda será apreciada. :)

    
por Kuhuqo 18.07.2015 / 16:30

1 resposta

2

Seu script de shell usa finais de linha do Windows (CR + LF). Você precisa convertê-lo para finais de linha (LF) do Unix, por exemplo, usando dos2unix .

    
por Florian Diesch 18.07.2015 / 16:44