シェルに適したエイリアスを作成します。 bash
で 、この行を ~/.bashrc
に追加します :
alias sagi="sudo apt-get install"
次に、source ~/.bashrc
alias
を実行します エイリアスがリストに表示されることを確認します。その後、入力するだけです
sagi <package>
エイリアスを呼び出します。他のシェルの場合、alias コマンドの形式と rc ファイルの名前は異なりますが、source
および alias
UPDATE:/bin/program のインストールを試みるようになりました 、/usr/bin/プログラム 、/sbin/プログラム 、または /usr/sbin/program .
これは完全に自動化されています...
g++ main.cpp
と入力するとします。 g++ がインストールされていない場合は、パッケージ g++ をインストールするかどうかを尋ねられます。「はい」と答えると、パッケージをインストールして g++ main.cpp
を実行します。 .
(これは 1 回限りのセットアップです...これを実行すれば準備完了です)
<オール>sudo apt-get install apt-file
sudo apt-file update
~/.bashrc を編集して、これを追加します:
command_not_found_handle () {
ask () {
echo -ne "$1 (Y/n) ";
read -N1 YES_ANSWER;
echo "";
YES_ANSWER=`echo $YES_ANSWER | sed 's/Y/y/; s/N/n/;'`;
if [ "x$YES_ANSWER" == "xy" ]; then
unset YES_ANSWER;
return 0;
elif [ "x$YES_ANSWER" == "xn" ]; then
unset YES_ANSWER;
return 1;
elif [ "x$YES_ANSWER" == "x" ]; then
unset YES_ANSWER;
return 0;
else
ask_yes "$1";
unset YES_ANSWER;
return $?;
fi;
}
if [ "x$1" == "x" ]; then
echo "File name not provided.";
return 1;
fi;
echo "Command not found: $1";
echo "Searching for file in database...";
FILE="`apt-file search /bin/$1 | sed 's/: /_/'`";
if [ "x$FILE" != "x" ]; then
FILE="`apt-file search /usr/bin/$1 | sed 's/: /_/'`";
fi;
if [ "x$FILE" != "x" ]; then
FILE="`apt-file search /sbin/$1 | sed 's/: /_/'`";
fi;
if [ "x$FILE" != "x" ]; then
FILE="`apt-file search /usr/sbin/$1 | sed 's/: /_/'`";
fi;
if [ "x$FILE" != "x" ]; then
for f in "$FILE"; do
if ask "\nDo you want to install package `echo $f | sed 's/_.*$//'` which provides `echo $f | sed 's/^.*_//'`?"; then
sudo apt-get install `echo $f | sed 's/_.*$//'`;
"[email protected]";
return $?;
fi;
done;
else
echo "Could not find file $1.";
return 1;
fi;
}
私はまだこれをテストしていますが、予備テストではうまくいくようです。ときどき apt-file update
を実行するとよいでしょう。 利用可能なファイルのリストを更新します。
編集した ~/.bashrc を有効にするには、次のいずれかを実行します:ログアウトして再度ログインするか、. ~/.bashrc
を実行します。 .
グラフィカル ターミナルを使用している場合は、sudo apt-get
で始まる行をトリプルクリックします。 全体をマークしてから、中クリックして端末に貼り付けます。または、出力から判断して、次のように入力します
# $(program | tail -n 1)
tail -n 1
の出力を実行するには program
の出力が与えられた後のコマンド .これはおそらく短くはありません。ただし、これにより、理論的には次のようなエイリアスの定義が可能になるはずです
# alias ii='$( $(history -p !!) | tail -n 1)'
履歴の最後のコマンドを取得して実行し、最後の行を取得して再度実行する必要があります。残念ながら、これは機能しません。これは同様の問題について議論していますが、私はそれをこの問題に適応させることができませんでした.bashは通常、""
が見つからないと文句を言います. .