2016-04-19 10 views
-3

私はスクリプトを使用して、perlコマンドでテキストファイルからコンテンツを実行しています。それはカッコ内にあり、コマンドが見つからないことを示しています。あなたが投稿したコードは、あなたが主張する行動を示さないperl -le内の括弧はbashスクリプトでは機能しません

:「コマンドが見つかりません(」
#!/bin/bash 
... 
(perl -le 'print "test"' && cat example.txt) > example2.txt || (rm -rf example2.txt && false) 
+4

を、「あなたはperlのワンライナーの最後に閉じ単一引用符が欠落しているしかし、それは何を本当にはっきりしていません。その通信でやりたいそして。もっと詳しく説明できますか? – ThisSuitIsBlackNot

答えて

2

を私は変数に次の行を含めると$(で実行しようとした)または$ {変数}が、リターンは常にあります。

$ cat a.bash 
#!/bin/bash 
(perl -le 'print "test" && cat example.txt) > example2.txt || (rm -rf example2.txt && false) 

$ ./a.bash 
./a.bash: line 2: unexpected EOF while looking for matching `'' 
./a.bash: line 3: syntax error: unexpected end of file 

$ 

行方不明'を追加した後:一つには

$ cat a.bash 
#!/bin/bash 
(perl -le 'print "test"' && cat example.txt) > example2.txt || (rm -rf example2.txt && false) 

$ ./a.bash 

$ 
+0

質問を編集した場合はお知らせください。この回答は削除させていただきます。 – ikegami

+0

私は問題が一重引用符の欠如に関連していたと思います。ありがとう。 – chbarros