当使用mkdir导致错误的目录创建时,选项卡空间跟在\之后

时间:2013-05-09 23:44:38

标签: shell unix makefile

当我使用下面的脚本时,[tab]会导致mkdir将多个调用组合在一起:


            #Ends with a \[TAB] which screws up bill
            SubTestCase := \
                zack \
                jill \
                jack \
                tom \   

            #bill gets placed in the wrong folder
            #because he directly follows SubTestCase
            TestCases := \
                $(SubTestCase)\
                bill \
                jane

            Test:
                mkdir -p $(addprefix hello/,$(TestCases))

上面的脚本创建了hello \ jack,hello \ jane,hello \ jill,hello \ tom,hello \ zack,

但奇怪的是创造了“hello \ hello \ bill”。是否有任何mkdir标志,模式或语法我可以使用,以便当它读取“[TAB]”时,它不会创建hello \ hello \ bill,而是hello \ bill。感谢

1 个答案:

答案 0 :(得分:0)

我真的不明白你的意思是“TAB”;脚本中的这个TAB在哪里?

无论如何,您可以使用$(strip ...)函数来消除无关的空白:

Test:
        mkdir -p $(addprefix hello/,$(strip $(TestCases)))