Programming

Linux 쉘커맨드로 반복적으로 argv escape 하기 귀찮을때

daehee87 2015. 10. 14. 00:54

root@ubuntu:~/tmp# (read -r z && echo $z | sed -e 's/\\/\\\\/g' -e 's/"/\\"/g') > /tmp/z && ls "`cat /tmp/z`"

123'123"123\123

ls: cannot access 123'123\"123\\123: No such file or directory

root@ubuntu:~/tmp#


stdin 에 한번 쭉 복붙하고 엔터치면 알아서 " \ escape 시킨다음 argv 로 전달.

(ls 를 원하는 프로그램으로 바꾸면됨)