Σελίδα 1 από 1

Bash Scripts and Aliases

ΔημοσίευσηΔημοσιεύτηκε: 28 Μάιος 2008, 14:03
από sentient6
Λοιπόν, χτες που κοίταγα το 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:

Re: Bash Scripts and Aliases

ΔημοσίευσηΔημοσιεύτηκε: 28 Μάιος 2008, 15:20
από Dimitris
Πολύ καλό!!

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

source ~/.alias

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

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

alias grep='alias -i'

έτσι ώστε το αποτέλεσμα της εντολής grep να μην εξαρταται αν γράφουμε κεφαλαία ή μικρά.

Re: Bash Scripts and Aliases

ΔημοσίευσηΔημοσιεύτηκε: 28 Μάιος 2008, 16:50
από sentient6
Χμ, ναι σωστά.. Ξέχασα να το πω, το γράφει και στο αρχείο .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 ;)

Re: Bash Scripts and Aliases

ΔημοσίευσηΔημοσιεύτηκε: 31 Μάιος 2008, 18:37
από simosx
Υπάρχει ειδική κατηγορία με τα HowTo. Δοκίμασε να μετακινήσεις το παρόν εκεί.