3
A
回答
4
工作對我來說:
$ d=.
$ if [ $d = '.' ];then echo 'yes'; else echo 'no'; fi
yes
$ d=foo
$ if [ $d = '.' ];then echo 'yes'; else echo 'no'; fi
no
0
1
我的代碼:
#!/bin/bash
var="."
[ $var = "." ] && echo "Yup, it equals '.'"
exit 0
它打印:
Yup, it equals '.'
調試:
[email protected]:~$ /bin/bash -x ./foo.sh
+ var=.
+ '[' . = . ']'
+ echo 'Yup, it equals '\''.'\'''
Yup, it equals '.'
+ exit 0
您可能在$var
(或者$var
爲空?)中可能有一些空白區域,請通過/bin/sh -x ./yourscript.sh
運行它以查看它實際進行的比較。
請記住,==是bashism,它只適用於Bash。它適用於那些習慣於單一的=導致分配的人。如果您僅使用bash,但您永遠不知道某些系統上可能指向的/ bin/sh是什麼,那麼這很好。最好只使用=並完全避免這個問題。
相關問題
- 1. 測試在bash
- 2. 如何在bash測試命令中分配一個變量?
- 3. bash測試一組存在的目錄
- 4. Bash,測試兩個文件的存在
- 5. 如何在bash測試一個或兩個條件
- 6. BASH測試錯誤[[]]
- 7. 在bash中測試grep輸出
- 8. 在bash中測試返回值
- 9. 節點測試:如何在摩卡測試用例後運行bash命令
- 10. 如何測試一個非整數,如果用在bash
- 11. 在節點中測試庫
- 12. Bash - 在一個if語句中測試參數的存在性和值
- 13. 在同一個測試中運行XCTestCase中的迭代測試
- 14. 在多邊形測試中,點擊測試,是多邊形中的一個點嗎?方法
- 15. 如何測試一個點是否在視圖中
- 16. bash腳本在多個docker-compose環境中運行測試
- 17. 如何在Python中使用這個bash測試構造?
- 18. NUnit的:在一個測試
- 19. BASH測試存在的目錄中有一個變量作爲路徑
- 20. 測試bash shell腳本
- 21. Bash文件測試條件
- 22. BASH:[](測試)的行爲unconformly
- 23. 第一個JavaScript測試破 - 我實在不明白這一點
- 24. 測試一條線是否在三角形內有一個點
- 25. 在同一測試程序中使用多個測試接口?
- 26. 如何在多個測試類中運行一組junit測試?
- 27. Python單元測試:在另一個模塊中運行測試
- 28. Bash shell中測試,如果在一個字符串中的所有字符在另一個字符串
- 29. 在Aspectj中爲測試套件中的每個Junit測試創建一個切入點
- 30. 如何測試一個動作在一個組件測試中被調用
'echo'$ {var}''產生沒有空格或多餘字符的'.'。將腳本運行爲/ bin/bash -x ./scriptname,以查看實際正在進行的操作。 – 2010-04-30 14:22:06
您可以發佈一個簡短的示例腳本,並且您可以獲得證明「不起作用」的結果,因爲它適用於我。 – 2010-04-30 14:32:15