shell腳本報錯:"[: =: unary operator expected"
shell腳本報錯:"[: =: unary operator expected"
在匹配字符串相等時,我用了類似這樣的語句:
if [ $STATUS == "OK" ]; then
echo "OK"
fi
在運行時出現了 [: =: unary operator expected 的錯誤,就一直找不到原因,嘗試了刪除等號兩側的空格和括號裏的空格都不管用,最後baidu了一下,才找到原因。把語句改成這樣就不會出錯了.
if [[ $STATUS = "OK" ]];
then
echo "OK"
fi
究其原因,是因為如果變量STATUS值為空,那麽就成了 [ = "OK"] ,顯然 [ 和 "OK" 不相等並且缺少了 [ 符號,所以報了這樣的錯誤。當然不總是出錯,如果變量STATUS值不為空,程序就正常了,所以這樣的錯誤還是很隱蔽的。
或者用下面的方法也能避免這種錯 誤:if [ "$STATUS"x == "OK"x ]; then echo
"OK"fi。當然,x也可以是其他字符。順便提一點,shell中有沒有雙引號在很多情況下是一致的。
轉自:http://hi.baidu.com/vishare/blog/item/bd8ab9ee289753252cf53417.html
shell腳本報錯:"[: =: unary operator expected"
相關推薦
shell腳本報錯:"[: =: unary operator expected"
其他 stat blog opera exp share font 雙引號 style shell腳本報錯:"[: =: unary operator expected" 在匹配字符串相等時,我用了類似這樣的語句: if [ $STATUS == "OK" ];
Shell腳本報錯:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory
class height 格式 as3 nbsp 打開 title 腳本文件 執行命令 在學習shell中測試case參數命令代碼如下 #!/bin/bash #switch測試 case $1 in start) echo ‘start‘
Linux shell 腳本報錯:/bin/bash^M: bad interpreter: No such file or directory
詭異 參數 當前 use linu 信息 mar int 查看 今天遇到一個很詭異的問題,一直運行很正常的shell腳本失敗了,只是昨天增加了一個參數而已。 報錯信息: /bin/bash^M: bad interpreter: No such file or direc
shell腳本執行報錯[: 0: unary operator expected
The 轉換 set [ ] 但是 perl per shell腳本 正常 在執行shell腳本,if判斷語句報錯 #!/bin/bash if [ 0 == $testNum ] then echo "Check Result:0" fi testN
ubuntu 下執行腳本報錯 [: 10: unexpected operator
sdn /var/ class out 連接 expected 文件 das 兼容 ubuntu 下執行腳本報錯如下:root@10-10-156-138:/var/tmp# sh *shguhua_route.sh: 8: [: 10: unexpected operat
LR回放https協議腳本失敗:[GENERAL_MSG_CAT_SSL_ERROR]connect to host "XXX" failed:[10054] Connection reset by peer [MsgId:MERR-27780]
網絡連接 advance sgid 服務器 vuser con run load sgi 最近做一個負載均衡項目的性能測試,使用LR錄制腳本協議為https協議,回放腳本時出現報錯: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "
老男孩教育每日一題-第94天 -shell腳本知識點:對shell腳本進行加密
腳本加密 shell加密 每日一題 題目用shell腳本對系統進行自動化維護,簡單,便捷而且可移植性好.但shell腳本是可讀寫的,很有可能會泄露敏感信息,如用戶名,密碼,路徑,IP等.同樣,在shell腳本運行時會也泄露敏感信息.請問如何不影響腳本運行的前提下,對腳本進行加密答案參考:方法一:s
老男孩教育每日一題-第95天-shell腳本知識點:書寫腳本完成ftp上傳下載
ftp腳本 ftp上傳腳本 ftp下周腳本 每日一題 題目日常工作中經常用到FTP,進行文件的共享與下載,單對於有些不熟悉FTP命令行人員使用FTP進行共享文件管理,是一件很頭疼的事。而且FTP如果有些文件需要每天定時進行上傳或下載,人為重復相同工作也是沒有意義的因此如何編寫自動下載或上傳FT
spark-shell啟動報錯:Yarn application has already ended! It might have been killed or unable to launch application master
name limits nor bsp closed pre opened 頁面 loading spark-shell不支持yarn cluster,以yarn client方式啟動 spark-shell --master=yarn --deploy-mode=cli
shell腳本示例:計算毫秒級、微秒級時間差
calc eva bsp -c log 數學 需要 示例 內容 有時候需要計算命令的執行時間長度,可以使用time命令,雖然time命令可以精確到毫秒級,但time命令無法計算一堆命令的執行時間。可以也可以直接使用date命令計算命令執行前後的時間差,但直接使用date命令
jmeter 運行腳本報錯 java.net.BindException: Address already in use
1.7 pan exception window mage dex cpi 並且 聚合 在win下跑jmeter時,在聚合報告中出現錯誤。打開日誌文件(前提是將日誌寫入了指定文件) 發現報錯的原因為:java.net.BindException: Address alrea
shell腳本實現:每周 5 使用 tar 命令備份/var/log 下的所有日誌文件
步驟 .tar.gz .gz 覆蓋 shel ash date命令 shell 表示 簡單小腳本,大神繞行 實現步驟:1寫腳本2做周期性計劃任務 1編寫腳本[root@sv7 ~]# vim tar.sh腳本內容:#!/bin/bash#編寫備份腳本,備份後文件名包含日期標
ubuntu終端執行shell腳本報command not found解決方法
flow logs install post pos not-found stack work href 使用sudo執行腳本報錯:sudo: myshell.sh: command not found 原因:發生這種情況的原因是因為您正在嘗試執行的腳本需要正確的權限 解決
LR錄制socket協議,回放腳本報錯解決
什麽 文檔 嘗試 spa 例子 star 斷點 報錯 圖片 錄制socket協議,回放腳本報錯: 基本的問題調試思路:出錯了,自己先琢磨下,問題可能在哪,培養自己的排錯思維能力 1、加斷點,運行調試 2、打開cmd運行,netstat -ano,查看到端口為0.0
java報錯:The reference to entity "characterEncoding" must end with the ';' delimite
java報錯 ref 引號 nic pri cin true ORC 分析 解決方法: 在web.xml增加如下配置: <filter> <filter-name>encodingFilter</filter-name> <fi
Exchange Server 2013添加DAG副本報錯:找不到網絡路徑
exchangeExchange Server 2013添加DAG副本報錯:找不到網絡路徑 原因:Remote Registry服務被禁止後出現此問題某些Exchange EMS / Power Shell功能(如管理診斷日誌記錄)需要啟用遠程註冊表服務。所以Exchange需要遠程服務器上的這項服務才能將
執行shell腳本報-bash: ./test.sh: /bin/bash^M: 壞的解釋器
shell /bin/bash bad interpreter 問題描述: 在notepad++裏面編輯修改了shell腳本,再上傳到服務器執行,出現“-bash: ./test.sh: /bin/bash^M: 壞的解釋器: 沒有那個文件或目錄”的報錯: [root@test102 ~]# ./
報錯:log4j:ERROR Category option " 1 " not a decimal integer.
程式碼: package com.zml; import org.apache.log4j.Logger; public class Day01 { private static Logger logger = Logger.getLogger(Day01.class);
java報錯:The reference to entity "characterEncoding" must end with the ';' delimiter.
java關於報錯:The reference to entity "characterEncoding" must end with the ';' delimiter. Java 解析XML檔案錯誤。 錯誤資訊提示程式碼類似如下: The reference to ent
Error :spark-shell模式報錯:java.sql.SQLException: A read-only user or a user in a read-only database
1.問題描述: 啟動spark-shell local的模式 bin/spark-shell --master local[2] 報錯: [[email protected] spark-2.1.0-bin-hadoop2.6]$ bin/spark-she