1

何かを確認すると、次のような出力が得られることがよくあります。

Ack: tmp/nonces/4e8c9698-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-mRPtTixYnWzzGcPpbIwx9scpDnE: Permission denied
Ack: tmp/nonces/4e8cbba9-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-oARiyZ2BwCEskqiPzrfQd1FI_fI: Permission denied
Ack: tmp/nonces/4e8d0b16-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-M8ARATBrrCt8Dzx_AUVyqQPlesE: Permission denied
Ack: tmp/nonces/4e8df921-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-qOogYRrIy2P4eFSD0dps0axw41k: Permission denied
Ack: tmp/nonces/4e8f25a5-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-.gfEmcarFxfuir1JeQeKjevK4Js: Permission denied
Ack: tmp/nonces/4e8f66ac-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-A_iNHhXoUELEWtENxyYp8H_HsJA: Permission denied
Ack: tmp/nonces/4e8f6ad6-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-xISGU82nDE6h.hGAKD7t8kfP3f0: Permission denied
Ack: tmp/nonces/4e8f6c43-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-8_4stPggeXhICZbspC7n3JPbbwU: Permission denied
Ack: tmp/nonces/4e9021f8-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-4LlZ.TfExXsf3L2woyFw9.LJF1U: Permission denied
Ack: tmp/nonces/4e90964d-https-www.google.com-kkEIoIiSEjUBRD.lRR_tT9V6ccE-MQcsEojzduPoDsosj.gnN5jPrmQ: Permission denied

これは何ですか?どうすれば修正できますか?

編集: これは、Ack プラグインを使用したときに MacVim 出力でのみ発生します。通常の Ack はこれを行いません。

4

1 に答える 1

3

ディレクトリはあなた/tmp以外のユーザーによって使用され、それらのファイルまたはディレクトリを読み取る権限はありません (マシンを使用しているのがあなただけであっても、さまざまなrootプロセスがディレクトリを使用します/tmp)。ack許可の問題について文句を言わないという選択肢はないようです。そのため、それらの行を破棄する必要があります。簡単な方法は、次のようにすべてackの出力を に捨てることです:stderr

alias ack='ack $* 2> /dev/null'

ただし、それはすべての ackエラーを破棄します。「許可が拒否されました」というエラーを破棄するには、もう少し作業が必要です。シェルとして使用していると仮定すると、これをファイルbashに入れます。~/.bash_aliases

function ack_discard_perm_errs()
{
    \ack --color $* 2>&1 | grep -v "Permission denied"
}

alias ack='ack_discard_perm_errs $*'
于 2011-11-01T23:32:32.503 に答える