我正在尝试在 Ubuntu OS 上运行 NS-2 模拟。
老实说,我是 Ubuntu 操作系统和批处理文件的新手。
通过键入:
bash bat.sh
我收到以下错误:
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 )
第二行正是我想要做的。我正在发送一个 200 kb、580 kb 等的变量。
在 Windows 上运行此批处理文件可以正常工作。
最佳答案
您的 bash 代码有问题。首先,您可能希望在文件的最开头添加 hassbang/shebang (https://en.wikipedia.org/wiki/Shebang_(Unix)),因此您无需在每次运行时都指定解释器,您可以使用 chmod +x bat.sh
使该文件可执行。 .其次,您在 for
上使用的语法我不知道(http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html)。我宁愿写这样的东西:
#!/bin/bash
for i in 200 380 4000
do
ns lab5.tcl ${i}kb
done
关于shell - 为什么在 Ubuntu 中运行 shell 脚本时出现意外标记附近的语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33981273/