结合 alias 和 read 使用方法。能够保存一些将要延迟执行的脚本,或者裸数据(字符串不被扩展)到一个变量中。以备后用。
$ alias BEGIN='read -d "" $1 <<"END"'
$ BEGIN block1
> ls -la
> END
$ eval $block1
total 10
drwxr-xr-x 1 Xiaoqian Administ 4096 Nov 5 22:42 ./
drwxr-xr-x 12 Xiaoqian Administ 4096 Nov 5 22:31 ../
-rw-r--r-- 1 Xiaoqian Administ 3 Oct 31 16:26 .gitignore
-rw-r--r-- 1 Xiaoqian Administ 435 Oct 31 16:26 README.md
drwxr-xr-x 2 Xiaoqian Administ 0 Nov 5 22:32 bin/
-rwxr-xr-x 1 Xiaoqian Administ 792 Oct 31 16:26 meditate
完毕,事实上block1也就是一个裸数据,一个BEGIN ... END块包括随意字符文本。能够理解为 block1="ls -la",仅仅是这里保证了文本不被shell引擎扩展。