[ad_1]
このドキュメンタリーは、なぜ私よりも賢いユーザーの 1 人がこれを行ったのかを説明していません。
nov25-1@nov251-desktop:~$ getcap !$ getcap `which hcitool` /usr/bin/hcitool = cap_net_admin,cap_net_raw+eip getcap `which hcitool` /usr/bin/hcitool cap_net_admin,cap_net_raw=eip /usr/bin/hcitool cap_net_admin,cap_net_raw=eip Unknown command - "="
追加したいすべて
cap_net_admin So I did this command <pre>nov25-1@nov251-desktop:~$ sudo setcap 'cap_net_admin' `which hcitool > help > exit > I do not understand the apparent option `which hcitool and the result indicate I am missing something in the command - perhaps more options?
そして、私が知っている誰かが形を崩す前に
C++ コードを動作させるにはこれが必要です
SO ITはコード関連/
さまざまなネットワーク関連の操作を実行します。
*
インターフェイス構成;
*
IP ファイアウォール、マスカレード、アカウンティングの管理
*
ルーティング テーブルを変更します。
*
透過的なプロキシのために任意のアドレスにバインドします。
*
サービスの種類 (TOS) を設定する
*
ドライバーの統計をクリアします。
*
無差別モードを設定します。
*
マルチキャストを有効にする;
私が試したこと:
私は(RTFM)(上記を参照)これを研究しましたが、役に立ちませんでした
解決策 1
スクリプトをもう一度確認してください。 あるはずです 2 逆引用符 (`
) の周辺 which
指図。 逆引用符はサブシェル コマンドを表し、その出力は呼び出し元のコマンドに挿入されます。 あなたの場合 which hcitool
おそらく戻ってくる /usr/bin/hcitool、 それで setcap 'cap_net_admin' `which hcitool`
と同等です setcap 'cap_net_admin' /usr/bin/hcitool
bash を使用している場合、サブシェルはより頻繁に $( )
逆引用符ではなく使用法。 これにはいくつかの理由があります。 まず、使用するフォントによっては、バッククォートと一重引用符を区別しにくくなり、スクリプト エラーが発生する可能性があります。 また、それらは非常に小さく、例を読むときに見落としがちです。 しかし、ほとんどの場合、 $( )
使用法はネストできますが、逆引用符はネストできません。 これは、 $( )
できるよ
$ cmd1 c1arg1 $(cmd2 $(cmd3 c3arg1 c3arg2) c2arg1 c2arg2) c1arg2
逆引用符でこれを試すと、次のようになります。
$ cmd1 c1arg1 `cmd2 `cmd3 c3arg1 c3arg2 `c2arg1 c2arg2` c1arg2
この場合、 cmd2
引数なしでサブシェルで呼び出される場合、コマンドでサブシェルを作成しようとします c2arg1
(これはおそらく失敗します)。
[ad_2]
コメント