tcsh中的多行变量

era*_*ran 5 csh tcsh

我想在tcsh中有变量来保存我的脚本的使用信息,所以在我的脚本中,每当我写echo echo使用时,它都会打印

my_script
  -h : -help
  -b : do boo
Run Code Online (Sandbox Code Playgroud)

etc`.

有没有办法做到这一点?可以使用<< EOF完成吗?

我尝试过类似的东西,但失败了:

set help =  << EOF
     my_script 
       -h : print help
       -b : do boo
EOF
Run Code Online (Sandbox Code Playgroud)

谢谢

Kei*_*son 8

set help = 'my_script\
  -h : -help\
  -b : do boo'

echo $help:q
Run Code Online (Sandbox Code Playgroud)

另一种方法:

alias help 'echo "my_script" ; echo "  -h : -help" ; echo "  -b : do boo"'

help
Run Code Online (Sandbox Code Playgroud)

但另见:http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/

我已经使用csh和tcsh多年了,但是我不得不承认,但我不得不求助于试错,找出第一个解决方案.例如,echo "$help"不起作用; 我不知道为什么,我怀疑我能从文档中弄明白.

(在Bourne shell中,你可以这样做:

help() {
    cat <<EOF
my_script
  -h : -help
  -b : do boo
EOF
}

help
Run Code Online (Sandbox Code Playgroud)

但是csh和tcsh没有功能.)