Bash脚本没有在Ubuntu中运行

时间:2015-07-03 14:53:45

标签: bash shell

我开始使用bash脚本并按照简短指南制作了这个小脚本,但由于某种原因,当我使用sh myscript运行脚本时,我得到了

myscript: 5: myscript: 0: not found running on ubuntu 12.04

这是我下面的脚本如果没有设置args,我至少应该看到echo消息:

#!/bin/bash
#will do something

name=$1
username=$2
if (( $# == 0 ))
then
    echo "##############################"
    echo "myscript [arg1] [arg2]"
    echo "arg1 is your name"
    echo "and arg2 is your username"
fi

var1="Your name is ${name} and your username is ${username}"

`echo ${var1} > yourname.txt`

2 个答案:

答案 0 :(得分:4)

`echo ${var1} > yourname.txt`

摆脱反击。

echo ${var1} > yourname.txt
  

...出于某种原因,当我使用sh myscript ...

运行脚本时

不要那样跑。使脚本可执行并直接运行

chmod +x myscript
./script

(或明确地使用bash myscript运行。)

答案 1 :(得分:1)

看起来这个表达式可以在bash中工作但不能在sh中工作。正如其他人指出的那样将其更改为可执行文件,请确保您的shebang行正在使用bash并按此运行:

./myscript

如果你想用sh运行它,那就是抱怨第5行。把它改成这个并且它将在/ bin / sh中工作。

if [ $# -ne 0 ]

查看测试手册页。

此外,您不需要此行上的反对:     echo $ {var1}> yourname.txt