寫乙個shell去處理mysql的資料,遇到乙個拼接條件的問題。就是在-e中的sql語句中加where條件,模擬下。
lala=hehe
echo "'$lala'"
輸出:'hehe'
這樣就可以把引數拼接到where條件中
echo "select a from table where a='$lala' "
輸出:select a from table where a='hehe'
這裡注意下這種情況的輸出
echo "select a from table where a="
'$lala'
" "輸出:select a from table where a=$lala
執行效果和下面這種方式一樣
echo select a from t '$lala'
輸出:select a from table where a=$lala
結論:外層「」 可以使內層『』失效,變為單引號在字串輸出,若外層雙引號再加雙引號,則雙引號使內層雙引號失效,此時剩餘的單引號生效。 shell中單引號 雙引號 反引號
一 單引號和雙引號 首先,單引號和雙引號,都是為了解決中間有空格的問題。因為空格在linux中時作為乙個很典型的分隔符,比如string1 this is astring,這樣執行就會報錯。為了避免這個問題,因此就產生了單引號和雙引號。他們的區別在於,單引號將剝奪其中的所有字元的特殊含義,而雙引號中...
shell中的單引號 雙引號和反引號
單引號 所有轉移符全部關閉,完整的反應括號中的內容 雙引號 部分轉義符關閉,但某些則保留 如 反引號 反引號內作為乙個系統命令並執行 1 反引號位 位於鍵盤的tab鍵的上方 1鍵的左方。注意與單引號 位於 enter鍵的左方的區別。在linux中起著命令替換的作用。命令替換是指 shell能夠將乙個...
shell指令碼中單引號和雙引號
shell指令碼中的單引號和雙引號一樣都是字串的界定符,而不是字元的界定符。單引號用於保持引號內所有字元的字面值,即使引號內的 和回車也不例外,但是字串中不能出現單引號。注意是所有,只是單引號本身不能夠出現在其中 雙引號用於保持引號內所有字元的字面值 回車也不例外 但以下情況除外 反引號位 位於鍵盤...