ITPub博客

首页 > 自动化运维 > DevOps > [20211011]变态的windows批处理9.txt

[20211011]变态的windows批处理9.txt

原创 DevOps 作者:lfree 时间:2021-10-11 08:54:06 0 删除 编辑

[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博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2795256/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969436