Trong Bash, printf
có thể thực hiện việc trốn thoát cho bạn:
$ a=''\''"\;:#[]{}()|&^$@!?, .<>abc123'
$ printf -v var "%q" "$a"
$ echo "$var"
\'\"\\\;:#\[\]\{\}\(\)\|\&\^\$@\!\?\,\ .\<\>abc123
Tôi sẽ để bạn quyết định xem điều đó có đủ mạnh mẽ hay không.