对不起; 我对bash文件之类的东西还很陌生。这是我的.bashrc的副本:
alias k='kate 2>/dev/null 1>&2 & disown'
function kk {kate 2>/dev/null 1>&2 & disown}
第一行中的别名工作正常,但第二行中抛出:
bash: /home/mozershmozer/.bashrc: line 3: syntax error near unexpected token `{kate'
bash: /home/mozershmozer/.bashrc: line 3: `function kk {kate 2>/dev/null >1>&2 & disown}'
我正在运行Linux Mint 17.3,这些是我的.bashrc文件中仅有的两行。我机器上的几乎所有其他内容都是默认香草。最终,我想尝试使用该函数来执行某些特定的功能,但是我立即触及了语法墙。我在这里列出的确切功能只是一种实验性的假人,使我可以更清楚地学习语法。
在bash
和其他POSIX外壳,{
并且}
是不完全的特殊符号这么多,因为他们都是特殊的话在这方面。当在函数定义中创建复合命令时,重要的是它们必须保留单词,即用空格包围。
像这样的单行函数定义中的最终命令必须以分号终止。否则,将右花括号}
视为命令的参数。
顺便说一句,如果您希望函数可以移植到其他POSIX shell中,则最好使用其他函数语法:
kk () { kate 2>/dev/null 1>&2 & disown; }
的使用function
特定于bash
,而此处给出的形式可与bash
sh,Korn和Almquist外壳等其他外壳一起使用。
disown
也是bash特有的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句