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 filenameve gitmeniz iyi olur!
./filename
Bu bin dizinini içerecek şekilde yol değişkeninizi güncelleyin. Kalıcı yapmak için bunu .profileveya .bash_profledosyaya 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 programYeniden yükle .profileveya .bash_profle:
$ . ~/.bash_profile
Herhangi bir dizinden, sadece şunu yazın:
$ hello
My first programbinklasör oluşturma önerinizi gördüm . .binBunun yerine herhangi bir sorun var mı bin? Nasıl homegöründüğüm konusunda çok seçiciyim ve sadece ekstra bir klasör istemiyorum.
zshkurulumumda yanlış bir şey olduğunu düşündüğüm için hayal kırıklığına uğradım ya da $PATHsonuç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 helloKomut dosyasına "çalıştırma" ayrıcalıkları eklemek için kullanın . chmod -x hellotam 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 ( aliasesgenellikle ' ' 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, rmvarsayılan olarak (remove) komutu bir dosyayı / dizini silmenizi istediğinde isteğinizi onaylamanızı DEĞİLTİR. Ancak, rmisteğinizi onaylamanızı istemenizi söyleyen bir tartışma var -i. Böylece, rm -i filePathbelirtilen 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, -iseçeneği eklemeyi çok unutursunuz ve aliasorası çok faydalı olur. Aşağıdaki komutu yazmak
echo "alias rm='\rm -i'" >> ~/.bash_aliases
söyleyecektir BashBir 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