0

私のbash_profile中にはこれがあります:

  function ht() { perl -i -pe 's|<!-- Mirrored from (.*?) -->\n||' "$a" ;}

htHTTrack署名付きのHTMLコメントを削除するためにフィードされたファイルをインライン置換するために実行したいのですが、これを実行すると、

ht file.html

私は得る:

Can't open : No such file or directory.

perlこれは、コマンドの入力を妨げる$aの周りの引用符が原因であると思われます。おそらく、それは"文字通りファイル名の前に付けられるか、またはこの種の何かであり、全体的に間違ったファイル名になります。

私は自分の周りの二重引用符を削除しようとしましたが、それは私$aが望むことをしていないようです。どうすればこれを解決できますか?

4

1 に答える 1

3

実行しようとしているファイルをperlに伝える必要があります。これに変更します:

function ht() { perl -i -pe 's|<!-- Mirrored from (.*?) -->\n||' "$@";}

$@最後の「$a」の代わりに注意してください。@jwdが指摘しているように、それ$*はほとんどの場合よりもさらに優れています。

于 2012-05-14T17:31:51.310 に答える