看板 Linux 關於我們 聯絡資訊
最近遇到的詭異問題 照裡說script前端宣告了 #!/bin/bach 後 應該只有一種寫法吧?! 可是我發現我寫 if 條件判斷的時候... 完全不能使用一般資料上寫的 if[條件]; then 那樣子會syntax error 後來我摸了很久 才發現用 if expr (條件); then 可以 可是好像沒人介紹這種寫法啊 我是自己亂湊湊出來的 我用的版本是Fedora 14 / 16 ... 目前試起來都這樣 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.13.127.136 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1406618086.A.6B1.html
carylorrk:bash? 我猜你 [] 裏面沒有空格纔會出問題? 07/29 15:26
CaptainH:if 和 [ ] 之間都要空格 07/29 15:26
carylorrk:常見的有 test [] [[]]...細節上有差別 07/29 15:26
justdoitmmo:空格很重要,沒空都會出問題 07/29 15:28
carylorrk:沒記錯的話 expr 比較類似 (()) 是數值計算用 07/29 15:36
globalhawk:我空格不空格都試過了 玩好久 07/29 17:41
globalhawk:再試試看好了 :p 07/29 17:48
Tormentor:貼出來看看? 07/29 17:54
globalhawk:哈 ... 好像真的是空格... 不知道它那parser怎寫的 07/29 19:20
lantw44:因為 [ 本身是一個指令 ...... 07/29 19:55
prismwu:[ is a shell builtin 07/29 20:26
bitlife:直譯式(interpreter)的parser為求效率,語法限制多些很合理 07/30 07:43
globalhawk:是啊...限制多一點parser可以簡單一點 07/30 11:36
OPIV:#!/bin/bash 08/08 12:14