我想在tcsh中有变量来保存我的脚本的使用信息,所以在我的脚本中,每当我写echo echo使用时,它都会打印
my_script
-h : -help
-b : do boo
etc`。
有办法做到这一点吗?可以使用<<<< EOF?
我尝试过这样的事情,但失败了:
set help = << EOF
my_script
-h : print help
-b : do boo
EOF
感谢
答案 0 :(得分:8)
set help = 'my_script\
-h : -help\
-b : do boo'
echo $help:q
另一种方法:
alias help 'echo "my_script" ; echo " -h : -help" ; echo " -b : do boo"'
help
但另请参阅: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
但是csh和tcsh没有函数。)
答案 1 :(得分:0)
使用''
停止正在评估的变量,在您的情况下不是问题,但可以在其他情况下。为了使它更具可读性并允许字符串分布在多行上,我使用以下内容:
#!/bin/tcsh
set help = "my_script \n"
set help = "$help -h : -help\n"
set help = "$help -b : do boo"
echo $help:q