簡體   English   中英

Bash腳本未在Ubuntu中運行

[英]Bash script not running in Ubuntu

我開始使用bash腳本並按照一個簡短的指南制作了這個小腳本,但是由於某種原因,當我使用sh myscript運行該腳本時,

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

這是我的腳本,如果沒有設置參數,我至少應該看到回顯消息:

#!/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`
`echo ${var1} > yourname.txt`

擺脫反感。

echo ${var1} > yourname.txt

...由於某種原因,當我使用sh myscript運行腳本時...

不要那樣運行。 使腳本可執行並直接運行

chmod +x myscript
./script

(或顯式運行bash myscript )。

看起來該表達式可以在bash中運行,但不能在sh中運行。 正如其他人指出的那樣,將其更改為可執行文件,請確保您的shebang行正在使用bash並按以下方式運行它:

./myscript

如果要使用sh運行它,那么它將抱怨第5行。將其更改為該行,它將在/ bin / sh中運行。

if [ $# -ne 0 ]

查看手冊頁進行測試。

同樣,您也不需要此行上的反引號:echo $ {var1}> yourname.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM