结合 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引擎扩展。

04-30 20:47