shell script - Linux

Carol avatar
By Carol
at 2017-09-21T20:27

Table of Contents

大家好~我是shell script 新手

最近寫一個小程式,是尋找有沒有目錄檔,可是執行都錯誤,不知道哪裡有錯

有網站在教語法這方面嗎? 謝謝

我在 /建一個目錄program 並在目錄下寫一個sh檔,是找有沒有var目錄,有的話就

echo,但我執行程式 sh find.sh 產生以下問題,不知道是甚麼問題哪裡寫錯!

find.sh: line 11: if[-e /var]: 沒有此一檔案或目錄
find.sh: line 13: syntax error near unexpected token `then'
find.sh: line 13: `then'

請問要怎麼直接 打/program/find.sh 就可以執行程式,不用再切換到program檔

再打sh find.sh 謝謝


#!/bin/bash
#program:
#use rsync copy webmailinfomation
#history:
#2017/09/21
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

File="/var"

if[-e $File]

then

echo $File

else

echo "hi"

fi



--
Tags: Linux

All Comments

Isla avatar
By Isla
at 2017-09-22T20:35
教學網站可以參考[鳥哥的Linux私房菜]
Tom avatar
By Tom
at 2017-09-23T01:38
你錯誤的原因是沒有空格,把錯誤那行貼到google search
Isla avatar
By Isla
at 2017-09-27T16:58
https://goo.gl/tTMf8p
Andrew avatar
By Andrew
at 2017-10-01T16:50
不是換行嗎?then不用換行
Xanthe avatar
By Xanthe
at 2017-10-02T23:16
鳥哥看一看吧...
Ursula avatar
By Ursula
at 2017-10-07T21:04
是哪裡沒空格,我有試過then不換行還是錯@@
Rae avatar
By Rae
at 2017-10-09T00:52
括號裡面要空一格
if 後面也要要空一格。
Bethany avatar
By Bethany
at 2017-10-12T13:17
用 chmod a+x program.sh 把執行權限打開
Hamiltion avatar
By Hamiltion
at 2017-10-14T14:38
所以你到底是用 sh 還是 bash?
Olive avatar
By Olive
at 2017-10-16T03:53
你的script #!/bin/bash 然後用 sh 當 interpreter?
Mary avatar
By Mary
at 2017-10-20T14:20
我是照鳥哥打的@_@ if 判斷式是照其他網頁
Linda avatar
By Linda
at 2017-10-24T17:38
如果是redhat系列,sh是link到bash沒問題,我也覺得是
空格問題
Carolina Franco avatar
By Carolina Franco
at 2017-10-26T21:53
空格問題,因為 if [ -e "xxxx" 是傳給 if 三個參數
如果是 if[-e $file 那就是 if[-e 是執行檔,$file是參數
Skylar Davis avatar
By Skylar Davis
at 2017-10-27T14:01
其實是有一個 [ 執行檔的
Victoria avatar
By Victoria
at 2017-10-29T19:23
https://pastebin.com/iEKkU8F6
Anthony avatar
By Anthony
at 2017-11-02T00:20
目前用 bash 的 [ 是內建命令了,早期 sh 年代才會
呼叫到外部的 [ 那個程式檔案
Olive avatar
By Olive
at 2017-11-06T04:46
先把格式打對來
Franklin avatar
By Franklin
at 2017-11-06T13:54
你需要是 ... --delete /a/. /b 這個語法吧,不是用 *
Harry avatar
By Harry
at 2017-11-10T12:10
* 只是 match a 該目錄內單層而已
Joseph avatar
By Joseph
at 2017-11-10T18:45
k大您好,我改好了~*跟 /.是差在哪邊呢?
Anthony avatar
By Anthony
at 2017-11-11T19:25
你可以重新測試,在 rsync 前面命令多加一個 echo
可以看出萬用字元展開情況,就會知道原因了

pcmanx的畫面設定問題

Frederica avatar
By Frederica
at 2017-09-21T07:12
想請教版上的大大們,要怎麼調整pcmanx的畫面格式。 因為我的pcmanx畫面很狹長,字跟字中間拉的太寬。 看起來是這樣: https://i.imgur.com/GMBGEfX.png https://i.imgur.com/2YlRfys.png 上網查方法,字跟字的距離,好像是字形的影響 ...

Squid 下載大約30m的檔案

Poppy avatar
By Poppy
at 2017-09-19T10:15
大家好,已爬過文 最近試著在我們的server設置squid 因為有需求一直去github抓大約30M的檔案 所以想說使用proxy讓他先存在我們server 端 但是卻一直無法儲存檔案 我們的server 是用Debian 看了access.log 確定有連到 但每一次都顯示 TCP_MISS/200 ...

git commit用中文(Github/Gitlab...)?

Yedda avatar
By Yedda
at 2017-09-19T00:56
之前我碰到的問題是使用中文檔名無法顯示,會變成 \nnn\nnn 可以用下面這行停用這種轉換: git config [--global] core.quotepath off (ref https://stackoverflow.com/a/22828826 ) 至於其他 windows 下非 u ...

git commit用中文(Github/Gitlab...)?

Madame avatar
By Madame
at 2017-09-18T17:31
git commit -m and#34;在這裡寫中文and#34; 或 git commit不加參數,在編輯器畫面用中文寫 在git指令或GUI,用中文寫提交註解 用在Github、Gitlab之類的 會不會有什麼問題啊?例如亂碼 或是原本在Ubuntu看是正常 到Windows看變亂碼 ...

想請問pptp server一些問題

Doris avatar
By Doris
at 2017-09-18T16:40
原本已經有DHCP Server,要如何將pptpd.conf裡的remoteip轉為原本的DHCP發送呢? 第二就是如果不想要用內建防火牆,NAT轉送的 iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE 這個設定,是不是就不能出pptp serv ...