question

Erro de sintaxe: próximo token inesperado 'fi' no Bash?

Por favor, me ajude! Estou criando um script bash, mas quando executo ele, ele diz erro de sintaxe próximo token inesperado 'fi' Bash

Aqui está o código que você pode tentar encontrar onde o erro vem de?

O script:

#! / bin/bash

# Por favor, não redistribua este script
# Este script precisa de alguns scripts de php para basear as configurações de plugin no navegador e um servidor para upload
# Função de configuração do plugin no início :)
função plugin_cfgstart {
se [$ 1 = "restaurar"]
em seguida
restore_backup()
Fi
CP -f /minecraftserver /var/www/plugin_edit/minecraftserver
# Chamar o gerenciador de plug-ins
plugin_mgr()
}
# Função do gerenciador de plugins: D
função plugin_mgr {
# Copie todos os plugins para o diretório de plugins do bukkit
se [-f /var/www/plugin_upload/.jar]
em seguida
echo 'Handling plugins...'
CP /var/www/plugin_upload/.jar /minecraftserver/plugins /
Fi
# Se houver um arquivo chamado hello.jar.delete dentro de '/ var/www/plugin_delete' cortará a extensão e excluirá / minecraftserver/plugins/hello.jar
se [-f /var/www/plugin_delete/.jar.delete]
em seguida
# Ele fará isso para cada arquivo em /var/www/plugin_delete (loop)
para f em /var/www/plugin_delete/.jar.delete; STRDEL = "${FILE%.}"
echo "$plugin delete $STRDEL..."
RM "/ minecraftserver/plugins /$ STRDEL"
RM "/ var/www/plugin_delete/$STRDEL.delete"
feito
Fi
# Se houver um arquivo chamado hello.jar.update dentro de '/ var/www/plugin_update' ele cortará a extensão .update e substituirá o /minecraftserver/plugins/hello.jar
se [-f /var/www/plugin_update/.jar.update]
em seguida
# outro loop
para f em /var/www/plugin_update/.jar.update; STRUPDATE = "${FILE%.}"
echo "$ plugin update $STRUPDATE..."
MV "/ var/www/plugin_update /$ STRUPDATE" /minecraftserver/plugins /
feito
Fi
função de início do servidor System
Start)
}
# Função de início do servidor
função iniciar {
System the craftbukkit.jar
CD minecraftserver
Java-Xmx1024M-Xms1024M-jar craftbukkit.jar
echo 'Servidor parado!'
quit)
}
função # final: parar?
função encerrar {
# Definir uma variável escolha 4.
Escolha = 4
# Imprime ao console
echo "Você deseja reiniciar?"
echo "1. Sim"
echo "2. não"
echo - n "escolha [1 ou 2]?"
# Loop enquanto a variável de escolha é igual a 4
enquanto [$escolha - eq 4]; fazer
entrada do usuário # Leitura
leitura de escolha
# Se a escolha for igual a 1
se [$escolha - eq 1]; em seguida
echo "reiniciar..."
configurando o final do plugin #Load: D
plugin_cfgend()
plugin_cfgstart()
Fi
# Se a escolha for igual a 2, sair do script
se [$escolha - eq 2]; em seguida
cp - r/minecraft/plugins/var/www/plugin_edit /
echo "Fechamento do serverscript..."
plugin_cfgend()
saída
Fi
}
#Restauração do backup
função restore_backup {
tar xvfz MCBackup.tar.gz
}
configuração do plugin de #Função no final
função plugin_cfgend {
echo 'backup original...'
echo 'Instalando novo'
MV -f /var/www/plugin_edit/minecraftserver /minecraftserver
}
A linha do erro é 10.
resposta Resposta

Entendo que você está enfrentando um problema ao executar o seu script bash. O erro é próximo ao token inesperado 'fi'. Este tipo de erro geralmente ocorre quando há um erro de sintaxe ou um problema de formatação no código.

  1. Comece substituindo Fi por fi. Na linguagem Bash, as palavras-chave devem ser minúsculas. Isso pode resolver o erro próximo token inesperado 'fi'.
  2. Altere a função atópico_cfgstart para plugin_cfgstart, observando a ortografia correta e as letras maiúsculas e minúsculas.
  3. Corrija os comandos se e fi. Eles devem estar entre colchetes e espaçamento extra entre o comando e os colchetes. Por exemplo, em vez de se [-f, use if [ -f e substitua fi por fi.
  4. Adicione declarações de condicional then após cada if e elif.
  5. Revise cada instância de comparação numérica. Use -eq em vez de -eq, conforme necessário.

Lembre-se de realizar testes após cada alteração, executando o script bash para verificar se o erro foi corrigido.

Abaixo está o código com as alterações que você pode tentar:

#! / bin/bash

# Por favor não redistribua este script
# Este script precisa de alguns scripts de php para baseado em navegador as configurações de plugin e um servidor uploading
#Function de configuração do plugin no início :)
função plugin_cfgstart {
if [ $1 == "restaurar" ]; then
  restore_backup
fi
CP -f /minecraftserver /var/www/plugin_edit/minecraftserver
#Call plugin manager
plugin_mgr
}
#Function plugin manager: D
função plugin_mgr {
# Copie todos os plugins para bukkit plugin dir
if [ -f /var/www/plugin_upload/.jar]; then
  echo 'Handling plugins...'
  cp /var/www/plugin_upload/.jar /minecraftserver/plugins /
fi

# If there é um arquivo chamado hello.jar.delete inside '/ var/www/plugin_delete', ele irá cortar a extensão de excluir e excluir /minecraftserver/plugins/hello.jar
if [ -f /var/www/plugin_delete/.jar.delete]; then 
  # It vai fazer isso para cada arquivo em /var/www/plugin_delete (do loop)
  for f in /var/www/plugin_delete/.jar.delete; do 
    STRDEL="${FILE%.}"
    echo "$ plugin de exclusão STRDEL..."
    rm "/minecraftserver/plugins/$STRDEL"
    rm "/var/www/plugin_delete/$STRDEL.delete"
  done
fi

# If there é um arquivo chamado hello.jar.update inside '/ var/www/plugin_update', ele vai cortar fora a extensão de .update e substituir o /minecraftserver/plugins/hello.jar
if [ -f /var/www/plugin_update/.jar.update]; em seguida
  # outro fazer loop
  for f in /var/www/plugin_update/.jar.update; do 
    STRUPDATE="${FILE%.}"
    echo "$ plugin de atualização STRUPDATE..."
    mv "/var/www/plugin_update /$ STRUPDATE" /minecraftserver/plugins /
  done
fi
servidor de início de função System
Start)
}
#Function servidor de início
função iniciar {
System o craftbukkit.jar
CD minecraftserver
Java-Xmx1024M-Xms1024M-jar craftbukkit.jar
echo 'Servidor parado!'
quit)
}
#Function final: parar?
função encerrar {
# Definir uma variável escolha 4.
Escolha = 4
# Imprime ao console
echo "Você deseja reiniciar?"
echo "1. Sim"
echo "2. não"
echo -n "escolha [1 ou 2]?"
# Loop enquanto a escolha da variável é igual 4
enquanto [$escolha - eq 4]; fazer
# entrada do usuário Read
leitura escolha
# If escolha é igual a 1
if [$escolha - eq 1]; then
  echo "reiniciar..."
  # configuração do plugin de Load: 
  plugin_cfgend
  plugin_cfgstart
fi
# If escolha é igual a 2 saída script
if [$escolha - eq 2]; em seguida
  cp -r /minecraft/plugins /var/www/plugin_edit /
  echo "Serverscript de fechamento..."
  plugin_cfgend
  saída
fi
}
#Restore de backup
função restore_backup {
tar xvfz MCBackup.tar.gz
}
#configuração do plugin de Function no final
função plugin_cfgend {
echo 'backup original...'
echo 'Instalando novo'
MV -f /var/www/plugin_edit/minecraftserver /minecraftserver
}
    

ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta



Minecraft Wiki - Dicas, guias e tutoriais

Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved