Birisi bana Unix / Linux'ta özel komutlar oluşturma konusunda rehberlik edebilir.
Birisi bana Unix / Linux'ta özel komutlar oluşturma konusunda rehberlik edebilir.
Yanıtlar:
/ Usr / bin klasöründe bir bash betiği oluşturun, bunun gibi görünmesi gerekir
#!/bin/bash
Whatever combination of commands you want to run when you type this thing.
Gerçekten bu kadar kolay.
Sadece bash betiğini terminale yazmak istediğiniz ismi yazın ve istisnai hale getirin: chmod +x filename
ve gitmeniz iyi olur!
./filename
Bu bin dizinini içerecek şekilde yol değişkeninizi güncelleyin. Kalıcı yapmak için bunu .profile
veya .bash_profle
dosyaya koyun .
export PATH=$PATH":$HOME/bin"
"Merhaba" diyen bir komut dosyası oluşturun ve onu bin dizininizde tutun. Merhaba komut dosyasına yürütme izni verin $ chmod +x hello
.
#!/bin/bash
echo My first program
Yeniden yükle .profile
veya .bash_profle
:
$ . ~/.bash_profile
Herhangi bir dizinden, sadece şunu yazın:
$ hello
My first program
bin
klasör oluşturma önerinizi gördüm . .bin
Bunun yerine herhangi bir sorun var mı bin
? Nasıl home
göründüğüm konusunda çok seçiciyim ve sadece ekstra bir klasör istemiyorum.
zsh
kurulumumda yanlış bir şey olduğunu düşündüğüm için hayal kırıklığına uğradım ya da $PATH
sonuçta chmod -x hello
çalışmadığı, bir de sermaye yapmadığı sonucuna vardım -X
. Bunun yerine denedim chmod 755 hello
, bu komutla ilgili güvenlik risklerinden emin olmasam da, koşmama izin verdi hello
. Bunun için bir açıklaması olan var mı? Sanırım yaş açısından bir sorun mu var?
chmod +x hello
Komut dosyasına "çalıştırma" ayrıcalıkları eklemek için kullanın . chmod -x hello
tam tersi yapar - 'çalışma' ayrıcalıklarını siler. (Cevaptaki ve yorumunuzdaki artı / eksi işareti farkına dikkat edin.)
Kolay, bir takma ad oluşturun.
İndirme dizininize cd komutunu yazmak istediğinizi söyleyin. Ve sen buna cdd demek istiyorsun.
alias cdd='cd ~/Downloads'
İstediğiniz herhangi bir komutu oluşturabilirsiniz.
İşte daha fazla bilgi:
http://www.mediacollege.com/linux/command/alias.html
Çoğunlukla, hepsi olmasa da, Linux dağıtımları ~ / .bashrc'de neredeyse buna benzeyen küçük bir komut dosyasına sahiptir:
if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi
Bu sadece kendi komutlarınızı yaratabileceğiniz anlamına gelir ( aliases
genellikle ' ' olarak da bilinir, genellikle her zaman kullanmanız gereken bazı argümanlarla veya sırayla çalıştırılması gereken bir komut listesiyle varolan bir komuta atıfta bulunulur).
Linux dağıtımınız büyük olasılıkla, el ile yapmadığınız sürece evinizde oluşturulan .bash_aliases dosyasına sahip olmayacaktır. Böylece dosyayı oluşturmak için aşağıdaki komutu yazın:
touch ~/.bash_aliases
Şimdi bu dosya, yeni bir Terminali her kapatışınızda otomatik olarak yürütülecektir.
Şimdi yapabilecekleriniz bir takma ad listesi oluşturmak ve bunları daha sonra kullanmak üzere bu dosyaya eklemek. Örneğin, rm
varsayılan olarak (remove) komutu bir dosyayı / dizini silmenizi istediğinde isteğinizi onaylamanızı DEĞİLTİR. Ancak, rm
isteğinizi onaylamanızı istemenizi söyleyen bir tartışma var -i
. Böylece, rm -i filePath
belirtilen dosyayı silmek istediğinizden emin olup olmadığınızı soran bir mesaj görüntüler. Şimdi, bir dosyayı yanlışlıkla silmek durumundaysanız, -i
seçeneği eklemeyi çok unutursunuz ve alias
orası çok faydalı olur. Aşağıdaki komutu yazmak
echo "alias rm='\rm -i'" >> ~/.bash_aliases
söyleyecektir Bash
Bir dosyayı silmek için talep her zaman, bir teyit mesajı size gösterilebilen olacağı. Tabii ki, yapabileceğiniz daha çok şey var - bu sadece temel hususlar.
Eğer (yani bazı temel komutları nasıl kullanılacağını öğrenmek istiyorsanız cd
, touch
, rm
, mkdir
, pushd
, popd
, vb) ve / veya daha sofistike olanları aradım bir referans olarak kitaplık üzerinde sahip olabilen çok iyi bir kitap tavsiye ederim
linux için editörlere ve kabuk programlamaya pratik bir rehber , Mark G. Sobell . ISBN: 978-0133085044