1. 程式人生 > >對$()與``區別的理解

對$()與``區別的理解

linux

本人Linux新手一枚,所以對$()和``的用法有點困惑,很多文章說這兩是一樣的

但測試下來還是有不同地方

個人認為$()邏輯層次比較清晰

``和$()在轉義字符\的使用上有很大不一樣

例如:

echo $(echo \\\\\\$SHELL)

結果會顯示:\\\/bin/bash

但,echo `echo \\\\\\$SHELL`

結果會顯示:\/bin/bash

原因個人覺得:``裏的一個\不能算轉義字符,而是要兩個成為一組時才能合並成一個轉義字符來看待,

echo `echo \$SHELL`的結果和echo `echo $SHELL`一樣,都是/bin/bash

這些通過

echo `echo \\\\\\\\$SHELL` 等同於4個轉義字符,結果是\\/bin/bash,這個結果和echo $(echo \\\\$SHELL)是一樣的,在$(),一個\等於一個轉義字符

如有疏漏或錯誤,請各位大俠指出不足之處,謝謝


本文出自 “101010...010101” 博客,請務必保留此出處http://legendland.blog.51cto.com/2043145/1951783

對$()與``區別的理解