[20211011]變態的windows批處理9.txt

lfree發表於2021-10-11

[20211011]變態的windows批處理9.txt

--//偶爾我會在windows下調式bash shell的指令碼,單行執行看看結果.
--//說句真心話,windows批處理太不靈活了,遇到的問題相當怪異,很容易搞錯.
--//例子:

d:\>d:\tools\linux\usr\local\wbin\echo.exe -n abcdef | tr 'a-z' "A-Z"
BCDEFG

--//什麼會輸出BCDEFG呢,實際上windows下字串使用雙引號,例子:

d:\>d:\tools\linux\usr\local\wbin\echo.exe 'a-z' "A-Z"
'a-z' A-Z

--//這樣相當於' => A a->B .....

d:\>d:\tools\linux\usr\local\wbin\echo.exe -n 'abcdef | tr 'a-z' "A-Z"
ZBCDEFG

--//' 對應 A嗎 ,怎麼變成Z.

d:\>d:\tools\linux\usr\local\wbin\echo.exe -n 'abcdef | tr 'a-f' "A-F"
FBCDEFF

--//碼錶展開
'abcdef'
ABCDEF
--//實際剩下部分的對應都是F.因為後面有出現逗號,最終 ,=>F

--//再來看一個例子:
d:\>d:\tools\linux\usr\local\wbin\echo.exe -n 'abcdef | tr 'a-f "A-F"
ABCDEFF

--//碼錶展開
'abcdef
ABCDEFF

--//實際上linux也應該注意,比如:
$ echo 1 2  3 | awk '{print $2}'
2
$ echo 1 2  3 | awk "{print $2}"
1 2 3

--//實際上awk "{print $2}"被解析為$2某個shell變數,相當於執行
$ echo 1 2  3 | awk "{print }"
1 2 3

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2795256/,如需轉載,請註明出處,否則將追究法律責任。

相關文章