当前位置: 技术问答>linux和unix
shell 問題 真的很困惑了
来源: 互联网 发布时间:2015-12-17
本文导语: 最近初學shell 看了好多資料,基本上對shell的語法有了了解,但是今天做聯繫遇到了麻煩 查了好多資料在baidu google都沒有找到答案,希望幫幫忙 最簡單的開始 1. #!/bin/sh hello="hello" if [ "${hello}"="hello" ]; then echo $he...
最近初學shell 看了好多資料,基本上對shell的語法有了了解,但是今天做聯繫遇到了麻煩
查了好多資料在baidu google都沒有找到答案,希望幫幫忙
最簡單的開始
1.
#!/bin/sh
hello="hello"
if [ "${hello}"="hello" ]; then
echo $hello
else
echo hi
fi
上面的出錯信息為
bb.sh: line 7: syntax error near unexpected token `fi'
bb.sh: line 7: `fi'
網上很多人也遇到這樣的問題,不過他們都是if[]這個地方沒有注意空格,我的[ ]前後都有空格
2.
#!/bin/sh
read var1 var2 var3
echo $var1 $var2 $var3
上面的如果我在read var1 var2 var3後面不加空格的話出現錯誤為
[noddy@hdwl bash]$ sh bb.sh
1 2 3
': not a valid identifier3
1 2
如果我加一個空格後就有下面的錯誤
[noddy@hdwl bash]$ sh bb.sh
1 2 3
': not a valid identifier
1 2 3
為何?
3.可以提供一個可以下在bash實例源代碼的地方麼,不是bash的源代碼而是例子
查了好多資料在baidu google都沒有找到答案,希望幫幫忙
最簡單的開始
1.
#!/bin/sh
hello="hello"
if [ "${hello}"="hello" ]; then
echo $hello
else
echo hi
fi
上面的出錯信息為
bb.sh: line 7: syntax error near unexpected token `fi'
bb.sh: line 7: `fi'
網上很多人也遇到這樣的問題,不過他們都是if[]這個地方沒有注意空格,我的[ ]前後都有空格
2.
#!/bin/sh
read var1 var2 var3
echo $var1 $var2 $var3
上面的如果我在read var1 var2 var3後面不加空格的話出現錯誤為
[noddy@hdwl bash]$ sh bb.sh
1 2 3
': not a valid identifier3
1 2
如果我加一個空格後就有下面的錯誤
[noddy@hdwl bash]$ sh bb.sh
1 2 3
': not a valid identifier
1 2 3
為何?
3.可以提供一個可以下在bash實例源代碼的地方麼,不是bash的源代碼而是例子
|
windows 下是回车换行符比在linux下多了一个r,这是在shell里是非法的。
可以用od -c bb.sh 看一下有没有非法字符。
可以用od -c bb.sh 看一下有没有非法字符。
|
最好在linux下面写,如果在windows下面写的,最好使用dos2unix转变文件格式
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。