/ / Por que obter um erro de sintaxe próximo do token inesperado ao executar um script de shell no Ubuntu? - shell, ubuntu, ns2

Por que obter um erro de sintaxe próximo do token inesperado ao executar um script de shell no Ubuntu? - shell, ubuntu, ns2

Eu estou tentando executar a simulação NS-2 no sistema operacional Ubuntu.

Para ser honesto, sou novo no sistema operacional Ubuntu e em arquivos em lote.

Digitando:

bash bat.sh

Eu estou recebendo o seguinte erro:

bat.sh: line 1: syntax error near unexpected token `%%a"
"at.sh: line 1: `for /L %%a in (200,380,4000) do (

bat.sh:

for /L %%a in (200,380,4000) do (
ns lab5.tcl %%akb )

A segunda linha é exatamente o que eu quero fazer. Eu estou enviando uma variável de 200 kb, 580 kb e assim por diante.

Executando este arquivo em lotes no Windows funciona bem.

Respostas:

1 para resposta № 1

Seu código bash é buggy. Primeiro, você pode querer adicionar o hassbang / shebang ( https://en.wikipedia.org/wiki/Shebang_(Unix) ) no início do arquivo, então você não precisa especificar o interpretador toda vez que executá-lo e você pode tornar este arquivo executável com chmod +x bat.sh. Em segundo lugar, a sintaxe que você usa no for é desconhecido para mim ( http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html ). Eu prefiro escrever algo como:

#!/bin/bash

for i in 200 380 4000
do
ns lab5.tcl ${i}kb
done