How to touch a file and mkdir if needed in one line

前端 未结 8 995
抹茶落季
抹茶落季 2021-02-18 14:38

I need to touch a file with an absolute file name such as: /opt/test/test.txt, but I\'m not sure if there is /opt/test existed on the system. So the code should similar with thi

8条回答
  •  悲&欢浪女
    2021-02-18 15:00

    I have this shell function in my .zshalias file:

    function touch-safe {
        for f in "$@"; do
          [ -d $f:h ] || mkdir -p $f:h && command touch $f
        done
    }
    alias touch=touch-safe
    

    If either the test or the mkdir command fail, no touch command is invoked.

提交回复
热议问题