2012-03-01 13 views
1

次の関数:Bash:バックグラウンドでアプリを起動する機能ですか?

esb() { emacs -f server-start [email protected] &; } 

はエラーを与える:

syntax error near unexpected token `;' 

はbashで、バックグラウンドでアプリを起動する方法はありますか?

編集

だから、解決策がある:

esb() { emacs -f server-start "[email protected]" & } 
+0

「$ @」を使用して引数をスペースで保護することを強くお勧めします。 –

+0

@glenn jackman:いくつかのファイルを開くとしますか?私が$ @を引用すると、emacsは私に彼に単一のファイル名を与えたと思うだろう。引用符なしでは、手動ですべてのスペースをエスケープすることができます。 – Adobe

+2

が間違っています。 '' $ @ ''は、パラメータのリストに正確に展開するという点で魔法です。 '' $ * ''は一つの単語になります。引用符で囲まれていない '$ @ 'と' $ * 'は、単語分割の対象です。詳細な説明はこちら(http://mywiki.wooledge.org/BashPitfalls#for_arg_in_.24.2A)および[here](http://www.gnu.org/software/bash/manual/bashref.html#Special)に記載されています。 -Parameters) –

答えて

2

両方&;コマンドセパレータです。 1つだけを使用してください。それらを組み合わせてスーパーbashスクリプトの力を得ることはできません。

関連する問題