Bash Scripts and Aliases

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

Κανόνες Δ. Συζήτησης
Παρακαλώ να επιλέξετε, με προσοχή, την άδεια που θέλετε να έχουν οι οδηγοί που συγγράφετε.
Πληροφορίες για τις άδειες μπορείτε να βρείτε εδώ.
Άμα επιθυμείτε κάποια άλλη άδεια επικοινωνήστε με κάποιο Διαχειριστή είτε Συντονιστή.

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

Bash Scripts and Aliases

Δημοσίευσηαπό sentient6 » 28 Μάιος 2008, 14:03

Λοιπόν, χτες που κοίταγα το ubuntuforums, έπεσα πάνω σε αυτό το thread (LINK) όπου λέει πως και τι να βάλουμε στο bash ωστε να εκτελεί κάποια script-ακια ή και παραλλαγές μεγάλων εντολών σε μία!


Απλά αλλάζουμε το αρχείο .bashrc που υπάρχει στο /home/user directory και προσθετουμε κάθε φορα την συνάρτηση ή παραλλαγή εντολής στο κάτω μέρος του αρχείου.. για να ανοίξει σε κονσόλα gedit /home/user/.bashrc (όπου user, το όνομα χρήστη)

Εγώ αυτά που βρήκα ωραία και τα έβαλα είναι τα παρακάτω:


1) define a word

Κώδικας: Επιλογή όλων
# Define a word - USAGE: define dog
define ()
{
lynx -dump "http://www.google.com/search?hl=en&q=define%3A+${1}&btnG=Google+Search" | grep -m 3 -w "*"  | sed 's/;/ -/g' | cut -d- -f1 > /tmp/templookup.txt
         if [[ -s  /tmp/templookup.txt ]] ;then   
            until ! read response
               do
               echo "${response}"
               done < /tmp/templookup.txt
            else
               echo "Sorry $USER, I can't find the term \"${1} \""            
         fi   
\rm -f /tmp/templookup.txt
}


αλλά για να δουλέψει θέλει πρώτα
Κώδικας: Επιλογή όλων
sudo apt-get install lynx


ένα παράδειγμα:

define ubuntu
* A Zulu word, literally meaning humanness. Ubuntu is a social and
* A distribution of the Linux Operating system, focused on user
* Ubuntu, pronounced , is a sub


2) alliases apt-get

Χρήση install <πακέτο>. (Βέβαια έτσι δεν λειτουργεί το tab στο να συμπληρώνει χαρακτήρες)

Κώδικας: Επιλογή όλων
#apt
alias install='sudo apt-get install'
alias remove='sudo apt-get remove'
alias update='sudo apt-get update && sudo apt-get upgrade'
alias search='sudo apt-cache search'


3) alias today

Κώδικας: Επιλογή όλων
#on this day
alias today='grep -h -d skip `date +%m/%d` /usr/share/calendar/*'



4) weather - post #4 στο αρχικό link(script link)

Αποθηκεύουμε τον φάκελο weather με τα 2 αρχεία έστω στο /home/user και κάνουμε 2 αλλαγές στο weather.sh.

*Βάζουμε m, για να έχουμε το δικό μας σύστημα και όχι το Αγγλικό
Κώδικας: Επιλογή όλων
# s=standard units, m=metric units
UNITS=m


*Βάζουμε το directory που βρίσκονται τα αρχεία, δηλαδή αλλάζουμε τη γραμμή
Κώδικας: Επιλογή όλων
# where this script and the XSLT lives
RUNDIR=/home/user/weather


και τέλος προσθέτουμε στο .bashrc το

Κώδικας: Επιλογή όλων
# weather
alias weather='/home/dimitris/Desktop/weather/weather.sh GRXX0013'


αλλά όπου GRXX0013 τον κωδικό της κάθε πόλης, απο το http://www.weather.com

5) Welcome message

Κώδικας: Επιλογή όλων
#Welcome message
clear

echo -ne "${LIGHTGREEN}" "Hello, $USER. today is, "; date
echo -e "${WHITE}"; cal ; 
echo -ne "${CYAN}";
echo -ne "${LIGHTPURPLE}Sysinfo:";uptime ;echo ""

Και προφανώς, ότι εντολές μεγάλες χρησιμοποιούμε συχνά μπορούμε να φτιάξουμε ένα alias και να καλείται απο μία μόνο εντολή ;)


bash 4 ever :D :D :D




ps. Δεν ξέρω αν ανήκει εδώ η στο how-to :roll:
Άβαταρ μέλους
sentient6
punkTUX
punkTUX
 
Δημοσιεύσεις: 193
Εγγραφή: 14 Μάιος 2008, 12:23
Τοποθεσία: Πάτρα-Λιβαδειά
Εκτύπωση

Re: Bash Scripts and Aliases

Δημοσίευσηαπό Dimitris » 28 Μάιος 2008, 15:20

Πολύ καλό!!

Θα πρότεινα τα aliases να μπαίνουν σε ξεχωριστό αρχειό (~/.alias) για λόγους καλύτερης αρχειοθέτησης. Και μετά ως

source ~/.alias

στο αρχείο ~/.bashrc

Ακόμη ένα χρήσιμο alias:

alias grep='alias -i'

έτσι ώστε το αποτέλεσμα της εντολής grep να μην εξαρταται αν γράφουμε κεφαλαία ή μικρά.
Άβαταρ μέλους
Dimitris
saintTUX
saintTUX
 
Δημοσιεύσεις: 1357
Εγγραφή: 13 Μάιος 2008, 13:57
Τοποθεσία: Θεσσαλονίκη
Εκτύπωση

Re: Bash Scripts and Aliases

Δημοσίευσηαπό sentient6 » 28 Μάιος 2008, 16:50

Χμ, ναι σωστά.. Ξέχασα να το πω, το γράφει και στο αρχείο .bashrc

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

#if [ -f ~/.bash_aliases ]; then
# . ~/.bash_aliases
#fi


Οπότε απλά δημιουργούμε το αρχείο και βγάζουμε τα σχόλια στο if ;)
Άβαταρ μέλους
sentient6
punkTUX
punkTUX
 
Δημοσιεύσεις: 193
Εγγραφή: 14 Μάιος 2008, 12:23
Τοποθεσία: Πάτρα-Λιβαδειά
Εκτύπωση

Re: Bash Scripts and Aliases

Δημοσίευσηαπό simosx » 31 Μάιος 2008, 18:37

Υπάρχει ειδική κατηγορία με τα HowTo. Δοκίμασε να μετακινήσεις το παρόν εκεί.
προσωπικό ιστολόγιο ϗ πλανήτης Ubuntu-gr
Συμβάλετε και εσείς στο ελληνικό βιβλίο Ubuntu!
1 Γνώσεις Linux: Πολύ καλό ┃ Προγραμματισμού: Πολύ καλό ┃ Αγγλικών: Πολύ καλό
2 Ubuntu 13.10 saucy 3.11.0-031100rc1-generic 64bit (el_GR.UTF-8, Unity ubuntu)
3 AMD E-450 APU with Radeon HD Graphics ‖ RAM 3555 MiB ‖ Sony Corporation VAIO
4 AMD nee ATI Wrestler [Radeon HD 6320] [1002:9806] {fglrx_pci}
5 eth0: Atheros Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083] (rev c0) ⋮ wlan0: Atheros Inc. AR9285 [168c:002b] (rev 01)
Φτιάξτε και εσείς τη δική σας υπογραφή (παραπάνω κείμενο) αυτόματα με κλικ εδώ!
simosx
Επίτιμο μέλος
Επίτιμο μέλος
 
Δημοσιεύσεις: 10334
Εγγραφή: 11 Μάιος 2008, 18:52
Launchpad: simosx
IRC: simosx
Εκτύπωση


Επιστροφή στο Οδηγοί - How to - Tutorials