Saya ingin tahu apakah ada cara untuk menjalankan skrip program / shell tanpa mengetik path lengkap:
/opt/idea/bin/idea.sh
Saya ingin tahu apakah ada cara untuk menjalankan skrip program / shell tanpa mengetik path lengkap:
/opt/idea/bin/idea.sh
Jawaban:
Anda bisa membuat symlink . Buat di /usr/local/bin
. Yang Anda butuhkan adalah menjalankan perintah:
sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command
Setelah itu Anda harus membuat file
eksekusi Anda :
chmod +x /full/path/to/your/file
Sekarang Anda dapat menjalankannya name_of_new_command
kapan saja di terminal Anda.
Perhatikan bahwa ini adalah solusi yang baik hanya untuk penggunaan Linux di rumah.
/usr/local/bin
yang menunjuk ke skrip di folder rumah pribadi, seperti /home/jack/myscript.sh
, karena hanya pengguna yang jack
biasanya dapat menjalankannya. Symlink akan terlihat untuk pengguna lain, tetapi bukan file yang ditunjuknya. Pada sistem pengguna tunggal ini mungkin tidak masalah, tapi tetap saja, "praktik yang baik" untuk menempatkan skrip (atau tautan ke skrip) yang dapat dibaca semua pengguna /usr/local/bin
, dan skrip pribadi yang dibuat sendiri (atau tautan ke skrip) dari satu pengguna di ~/bin
folder mereka .
Anda dapat menambahkan /opt/idea/bin
ke PATH
variabel Anda :
PATH=/opt/idea/bin:"$PATH"
Setelah ini, Anda dapat menjalankannya dengan sederhana idea.sh
.
Anda mungkin ingin menambahkan baris ini di ~/.bashrc
file Anda .
idea
, Anda harus membuat tautan atau alias dengan nama yang menunjuk idea.sh
skrip.
idea.sh
Script tidak naskah tersebut, pada kenyataannya bergerak di luar dir instalasi benar-benar tidak didukung. Aturan pengemasan Debian tidak berlaku di sini.
Anda dapat membuat fungsi di ~/.bashrc
:
some-name () {
/path/to/your/file
# or:
#cd /path/to/your
#./path
}
Atau Anda dapat membuat alias
:
alias some-name='/path/to/your/file'
# or
#alias some-name='cd /path/to/your/; ./file'
Dalam kedua kasus, Anda dapat menjalankannya dengan menelepon:
$ some-name
Jika file tidak bergantung pada tempat file itu berjalan, pertimbangkan untuk menambahkannya ke ~/bin
:
mkdir -p ~/bin
cp /path/to/you/file ~/bin
# or mv /path/to/you/file ~/bin
# or ln -s /path/to/you/file ~/bin
~/bin
, jika ada, ditambahkan ke Anda $PATH
secara otomatis. Maka Anda langsung menelepon file
:
$ file
(Namun pilihan nama yang buruk, pertimbangkan untuk menyebutnya sesuatu yang kurang generik.)
file
ke Anda ~/bin
, yang biasanya saya lakukan (untuk skrip yang lebih panjang). Saya mungkin bahkan akan menempatkan yang di atas :) Alias baik untuk cara pintas ke perintah dengan parameter tertentu, misalnya alias l='ls -CF'
,. Meskipun saya telah melihat penggunaan alias yang jauh lebih luar biasa . Saya tidak cenderung mendeklarasikan fungsi dalam ~/.bashrc
(saya lebih suka mengatur semua skrip saya dalam file terpisah ~/bin
). Meskipun semua ini adalah masalah selera, saya kira :)
cd
, karena skrip mungkin bergantung pada direktori kerja. :) Kalau tidak, ya, saya cenderung menaruh file di ~/bin
diri saya.
Anda dapat membuat peluncur dengan menggunakan perintah berikut:
gnome-desktop-item-edit --create-new <path-where-to-save>
. Saya akan membuka jendela ini.
Beri nama apa pun yang Anda suka dan dalam tipe kotak perintah berikut
sh -c '/opt/idea/bin/idea.sh'
dan simpan itu.
Sekarang Anda dapat menjalankan file itu menggunakan peluncur yang baru dibuat
ATAU
Anda dapat membuat file .desktop dengan konten berikut
[Desktop Entry]
Name=<whatever-you-want>
Exec=sh -c '/opt/idea/bin/idea.sh'
Terminal=false
Type=Application
Icon='<path to an icon file if you want>'
Sekarang simpan dengan .desktop
ekstensi di sembarang tempat.
Jadikan itu dapat dieksekusi dengan perintah ini chmod a+x <your-desktop-file>
Sekarang klik dua kali untuk membukanya.
Kita dapat mendefinisikan suatu fungsi dan menambahkan hotkey dengan menggunakan bind
perintah untuk memanggilnya. Buka ~/.bashrc
file dan tambahkan baris ini ke sana:
# define function that opens your program in working directory
Openprog(){
/your-Program/path/here
}
# bind hotkey to it (<F12>)
bind -x '"\e[24~":"Openprog"'
Sekarang ketika Anda menekan F12, program Anda akan diluncurkan.
Catatan: Cara cepat untuk menentukan kode melarikan diri:
Buka terminal Anda dan tekan Ctrl+ V. Sekarang tekan pintasan keyboard favorit Anda. Kode melarikan diri yang benar akan muncul. Pastikan untuk mengganti ^[
dengan \e
sebelum menambahkan pintasan, misalnya ganti ^[[24~
dengan \e[24~
.
Kami juga dapat menjalankan /opt/idea/bin/idea.sh
file secara langsung menggunakanbash_aliases
Buka ~/.bashrc
file dengan menjalankan,
gedit ~/.bashrc
Hapus #
sebelum garis dan simpan, sehingga garis akan terlihat seperti,
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Sekarang buka ~/.bash_aliases
file,
gedit ~/.bash_aliases
Tambahkan baris di bawah ini dalam file itu dan simpan,
alias idea='cd /opt/idea/bin && sudo ./idea.sh'
Akhirnya sumber ~/.bashrc
file,
source ~/.bashrc
Sekarang Anda dapat menjalankan /opt/idea/bin/idea.sh
file secara langsung dengan,
idea
Selain jawaban baik lainnya, pertimbangkan untuk menghubungkan ~/.local/bin
dan menambahkan direktori ini ke PATH Anda (dari dalam Anda .bashrc
misalnya). Metode ini tidak memerlukan izin khusus (tidak seperti symlinking /usr/local/bin
, misalnya). Dengan cara ini, Anda mungkin memiliki struksi direktori standar tanpa membanjiri $ HOME Anda. Baca lebih lanjut tentang ini di https://unix.stackexchange.com/ pertanyaan ini:
Atau Anda cukup menggunakan
nano ~/.bashrc
dan tambahkan
PATH=/full/path/to/file:"$PATH"
di ujungnya, lalu simpan dan keluar. Setelah itu, Anda cukup mengetik nama file.
Saya mengikuti semua jawaban di sini dan di tempat lain dan sangat sedikit yang gagal menyebutkan bahwa Anda mungkin perlu LOG OUT agar perintah akhirnya dapat berfungsi.
Sekadar rekap, terutama untuk Xubuntu , tetapi untuk varian Debian / Ubuntu lainnya saya juga menulis instruksi sederhana ini.
(dalam instruksi berikut ini kami menggunakan direktori ~ / bin , karena itu secara otomatis tempat dari mana OS ini mencari perintah. Lihat di sini :
# Open Terminal with Ctrl + Alt + T (or your system's own shortcut)
# You'll work in your home folder, no need to use sudo for any of this
cd # Go to home directory
mkdir -p bin # Create folder ~/bin if it doesn't exist
# Be careful not to type /bin, that's the bin folder in system root: /
sudo apt install nano # Skip this if you have Nano installed
nano bin/yournewcommand
# In Nano, type:
printf "Your new command works! \n" # \n means line break
# Ctrl+X To leave Nano
# Ctrl+Y To save the unsaved file
# Enter to confirm
chmod +x bin/yournewcommand
yournewcommand # If you just created the bin folder, this command might not yet work.
# You must now log out and log back in to make the bin folder noticed (I think)
yournewcommand # Now it works! (You can use Tab to autocomplete the command you're typing)
# If you add a second file/command, it should work without logging out (at least in my tests)