GNU/Linux >> Belajar Linux >  >> Linux

Apakah ada jalan pintas untuk menjalankan perintah yang disarankan di terminal?

Buat alias yang sesuai untuk shell Anda. Di bash , tambahkan baris ini ke ~/.bashrc :

alias sagi="sudo apt-get install"

Lalu, source ~/.bashrc dan jalankan alias untuk memverifikasi alias muncul di daftar Anda. Setelah itu, ketikkan saja

sagi <package>

untuk memanggil alias. Untuk shell lain, format perintah alias dan nama file rc akan berbeda, tetapi source dan alias harus sama.


PEMBARUAN:Sekarang akan mencoba memasang /bin/program , /usr/bin/program , /sbin/program , atau /usr/sbin/program .
Ini benar-benar otomatis...
Misalkan Anda mengetik g++ main.cpp dan Anda belum menginstal g++, ia akan menanyakan apakah Anda ingin menginstal paket g++, dan jika Anda menjawab ya, ia akan menginstalnya lalu menjalankan g++ main.cpp .

(Ini adalah penyiapan satu kali... Lakukan ini dan Anda siap melakukannya)

  1. Instal apt-file... sudo apt-get install apt-file
  2. Perbarui cache-nya... sudo apt-file update
  3. Edit ~/.bashrc dan tambahkan ini ke dalamnya:

    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;
    }
    

Saya masih menguji ini, tetapi dalam tes pendahuluan sepertinya berhasil. Sesekali akan baik untuk menjalankan apt-file update untuk menyegarkan daftar file yang tersedia.

Untuk membuat ~/.bashrc yang diedit menjadi efektif, lakukan salah satu dari yang berikut:keluar dan masuk kembali, atau jalankan . ~/.bashrc .


Jika Anda berada di terminal grafis, klik tiga kali pada baris yang dimulai dengan sudo apt-get untuk menandainya seluruhnya dan kemudian klik tengah untuk menempelkannya ke terminal. Alternatifnya, menilai dari keluarannya, ketikkan sesuatu seperti

# $(program | tail -n 1)

untuk mengeksekusi output dari tail -n 1 perintah setelah diberi output dari program . Ini mungkin tidak lebih pendek. Namun, ini secara teoritis memungkinkan definisi alias seperti berikut

# alias ii='$( $(history -p !!) | tail -n 1)'

yang harus mengambil perintah terakhir dalam sejarah, jalankan, dapatkan baris terakhirnya dan jalankan lagi. Sayangnya, ini tidak berhasil. Ini membahas masalah yang serupa tetapi saya tidak berhasil menyesuaikannya dengan masalah ini, bash biasanya mengeluh tidak menemukan "" .


Linux
  1. Hapus terminal menggunakan pintasan keyboard

  2. perintah ip di terminal Mac OS X

  3. Bash jika dalam satu baris

  1. Perintah Terjadwal

  2. Bagaimana Menjalankan Perintah Yang Akan Bertahan dari Penutupan Terminal?

  3. Jalankan perintah cd sebagai superuser di Linux

  1. Jalankan Perintah Di Terminal Aktif Jarak Jauh?

  2. Jalankan Perintah Yang Dibayangi Alias?

  3. | Di Perintah Terminal?