他のコマンドを前にして各コマンドを実行するには?
私が実行したときの例:
nmap -p 80 host
私はそれを実行したい
proxychains nmap -p 80 host
proxychains
わざわざ入れなかったのですが。
つまり、すべてのコマンドに事前に追加されたエイリアスを一度に追加できますかproxychains
?
オン/オフできる機能なら本当にいいと思います。
答え1
で完全なシェルを実行できますかproxychains
?シェルで開始されたプロセスを正しく処理すると仮定します。
あなたはこれを行うことができます
$ proxychains bash
勝手にシェルを終了します。
ただし、本当に必要な場合は、DEBUG
トラップ(extdebug
setを使用)を乱用して、シェルが実行するコマンドを破損する可能性があります。これにより各コマンドが実行されますtime
。
$ shopt -s extdebug
$ d() { eval "time $BASH_COMMAND"; return 1; }
$ trap d DEBUG
$ sleep 2
real 0m2.010s
user 0m0.000s
sys 0m0.000s
$ trap - DEBUG # turn it off, this still prints the 'time' output
trap
しかし、ここでトリッキーな部分は、またはそれ自体のような組み込み関数にも影響を与えるため、これにいくつかshopt
の例外を追加したい場合がありcd somedir
ますproxychains cd somedir
。これは、内部機能などから始まるすべてに影響を与えます。おそらく、この機能がproxychains
必要であることが知られているコマンドにのみこの機能を使用できるようにする方が良いでしょう。
答え2
現在のセッションのエイリアスを作成するだけです。
alias nmap="proxychains nmap"
nmapを作成するたびに「proxychains nmap」を作成します。次の方法でドラッグできます。
unalias nmap
これを管理するためにシェルスクリプトを作成することもできます。これをbashrcに追加します。
function prefix {
if [ $2 != "with" ]; then
echo "You have to prefix something with something"
return
fi
echo "alias $1 = $3 $1"
alias $1="$3 $1"
}
function unprefix {
alias $(alias $1 | sed "s/=.\b.*\b /='/g")
}
だからあなたはこれを行うことができます:
prefix nmap with proxychains
unprefix nmap