Bash 3.0 and readline 5.0

Since update to bash 3.0 my terminal windows show strange behavior: sometimes long lines are splitted into two.
In
http://groups.google.com/groups?selm=ce … put=gplain
is a paragraph about readline
Changes have been made to the Readline library being released at the same time as bash-3.0, readline-5.0, so that Bash can be linked against an already-installed Readline library rather than the private version in lib/readline.  Only readline-5.0 and later versions are able to provide all of the symbols that bash-3.0 requires; earlier versions of the Readline library will not work correctly.
Maybe we need an updated readline package and bash 3 should depend on it?

Mythoz wrote:Since update to bash 3.0 my terminal windows show strange behavior
Bash 3.0 breaks midnight commander for me. MC hangs when starting up. Bash 3.0 also produces an error message when logging in. I don't have the text of it though, I've already downgraded to a stable bash.

Similar Messages

  • Linux Cheat Sheets (awk, ed, sed, bash, screen, perl, and more)

    Hey! While learning various linux tools in the past, I made several cheat sheets to speed up the learning process. Recently I decided to put them on my blog.
    Here is a link to all the cheat sheets on my blog:
    cheat sheets at catonmat (my blog)
    They include (some of the links include tutorials, as well):
    * awk (awk, nawk and gawk) programming language cheat sheet,
    * sed, unix stream editor, cheat sheet,
    * ed, interactive unix text editor, cheat sheet,
    * perl's special variable cheat sheet,
    * perl's pack/unpack and printf/sprintf function cheat sheet,
    * screen vt100 terminal emulator cheat sheet,
    * bash vi editing mode (readline) cheat sheet, and
    * bash emacs editing mode cheat sheet.
    Tell me what you think and I hope you find them useful!
    ps. I have 5-10 more to publish, if you are interested, check back and possibly subscribe to my posts via rss feed
    Last edited by pkrumins (2008-02-19 15:41:00)

    Hi all! I just wrote a another article with a cheat sheet. It's called "The Definitive Guide to Bash Command Line History". This tutorial teaches you how to quickly retrieve and modify commands you executed previously.
    It starts by reviewing the keyboard shortcuts for history retrieval in emacs and vi editing modes, then it covers the commands for listing and erasing the history, then it goes into discussing history expansion mechanism - event designators, word designators and their modifiers. Finally the guide lists variables and options to modify the default history behavior.
    The cheat sheet comes in PDF, Plain Text ASCII and LaTeX:
    * PDF format (.pdf): bash history cheat sheet (.pdf)
    * ASCII .txt format: bash history cheat sheet (.txt)
    * LaTeX format (.tex): bash history cheat sheet (latex .tex)
    Last edited by pkrumins (2008-02-19 15:40:31)

  • Turning Bash into GLaDOS and other fun tricks

    I wanted to share some simple bash customizations that can improve functionality and awesomeness.
    All changes can be undone by deleting the added text or commenting out a line.
    This was made in Ubuntu, your mileage may vary.
    These edits can be safely appended (do not overwrite!) to your ~/.bashrc file, but only change that one file.
    For best results, add your own customizations to taste.
    #Various Edits:
    #This changes what the terminal displays before the cursor
    export PS1="GLaDOS, "
    #bash remembers the last 3000 commands
    export HISTFILESIZE=3000
    # Define a few Color's
    BLACK='\e[0;30m'
    BLUE='\e[0;34m'
    GREEN='\e[0;32m'
    CYAN='\e[0;36m'
    RED='\e[0;31m'
    PURPLE='\e[0;35m'
    BROWN='\e[0;33m'
    LIGHTGRAY='\e[0;37m'
    DARKGRAY='\e[1;30m'
    LIGHTBLUE='\e[1;34m'
    LIGHTGREEN='\e[1;32m'
    LIGHTCYAN='\e[1;36m'
    LIGHTRED='\e[1;31m'
    LIGHTPURPLE='\e[1;35m'
    YELLOW='\e[1;33m'
    WHITE='\e[1;37m'
    NC='\e[0m' # No Color
    # Sample Command using color: echo -e "${CYAN}This is BASH
    #${RED}${BASH_VERSION%.*}${CYAN} - DISPLAY on ${RED}$DISPLAY${NC}\n"
    # Source global definitions
    if [ -f /etc/bashrc ]; then
    . /etc/bashrc
    fi
    # enable programmable completion features
    if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi
    # Alias's to modified commands, the fun part
    alias home='cd ~'
    alias ping='ping -c 5'
    alias openports='netstat -nape --inet'
    alias ns='netstat -alnp --protocol=inet | grep -v CLOSE_WAIT | cut
    -c-6,21-94 | tail +2'
    alias la='ls -Al' # show hidden files
    alias ls='ls -aF --color=always' # add colors and file type extensions
    alias lx='ls -lXB' # sort by extension
    alias lk='ls -lSr' # sort by size
    alias lc='ls -lcr' # sort by change time
    alias lu='ls -lur' # sort by access time
    alias lr='ls -lR' # recursive ls
    alias lt='ls -ltr' # sort by date
    alias lm='ls -al |more' # pipe through 'more'
    #the next edit requires mplayer and a song, but it let's you play music in bash!
    alias sing='mplayer -really-quiet ~/Music/"Theme Songs"/"Still Alive - Theme Songs.mp3"'
    #a very useful alias when working on this file. nano can be substituted for gedit, etc.
    alias editbash='nano ~/.bashrc'
    #alias for lynx. requires lynx, let's you browse websites in bash
    alias nytimes='lynx -term=vt100 http://nytimes.com'
    alias mail='lynx -term=vt100 http://gmail.com'
    # NOTES
    # To temporarily bypass an alias, we precede the command with a \
    # eg. the ls command is aliased, but to use the normal ls command you would
    # type \ls
    I'm am not the author of all of these edits but I can guarantee their functionality.
    Post your own edits
    Last edited by Csosa (2010-06-22 15:10:57)

    A sleepless night and no internet led to me doing all the lyrics for the song. Here's the code:
    alias sing='mplayer -really-quiet ~/music/GLaDoS/still_alive.mp3 < /dev/null & echo -n "T" && sleep .05 && echo -n "h" && sleep .08 && echo -n "i" && sleep .05 && echo -n "s" && sleep .05 && echo -n " " && sleep .05 && echo -n "w" && sleep .1 && echo -n "a" && sleep .1 && echo -n "s" && sleep .03 && echo -n " " && sleep .05 && echo -n "a" && sleep .1 && echo -n " " && sleep .1 && echo -n "t" && sleep .1 && echo -n "r" && sleep .1 && echo -n "i" && sleep .1 && echo -n "u" && sleep .1 && echo -n "m" && echo -n "p" && sleep .1 && echo "h" && sleep 2.2 && echo -n "I" && sleep .1 && echo -n " " && sleep .03 && echo -n "a" && sleep .05 && echo -n "m" && sleep .03 && echo -n " " && sleep .08 && echo -n "m" && sleep .08 && echo -n "a" && sleep .08 && echo -n "k" && sleep .08 && echo -n "i" && sleep .08 && echo -n "n" && sleep .08 && echo -n "g" && sleep .03 && echo -n " " && sleep .05 && echo -n "a" && sleep .03 && echo -n " " && sleep .08 && echo -n "n" && sleep .08 && echo -n "o" && sleep .08 && echo -n "t" && sleep .08 && echo -n "e" && sleep .03 && echo -n " " && sleep .08 && echo -n "h" && sleep .08 && echo -n "e" && sleep .08 && echo -n "r" && sleep .08 && echo -n "e" && echo ":" && sleep .9 && echo -n "H" && sleep .04 && echo -n "U" && sleep .04 && echo -n "G" && sleep .04 && echo -n "E" && sleep .02 && echo -n " " && sleep .04 && echo -n "S" && sleep .04 && echo -n "U" && sleep .04 && echo -n "C" && sleep .04 && echo -n "C" && sleep .04 && echo -n "E" && sleep .04 && echo -n "S" && sleep .04 && echo "S" && sleep 2.5 && echo -n "I" && sleep .08 && echo -n "t" && sleep .01 && echo -n " " && sleep .02 && echo -n "i" && sleep .02 && echo -n "s" && sleep .02 && echo -n " " && sleep .04 && echo -n "h" && sleep .08 && echo -n "a" && sleep .08 && echo -n "r" && sleep .08 && echo -n "d" && sleep .04 && echo -n " " && sleep .08 && echo -n "t" && sleep .08 && echo -n "o" && sleep .04 && echo -n " " && sleep .08 && echo -n "o" && sleep .2 && echo -n "v" && sleep .15 && echo -n "e" && sleep .2 && echo -n "r" && sleep .1 && echo -n "s" && sleep .09 && echo -n "t" && sleep .09 && echo -n "a" && sleep .09 && echo -n "t" && sleep .09 && echo -n "e" && sleep .2 && echo -n " " && sleep .15 && echo -n "m" && sleep .15 && echo -n "y" && sleep .2 && echo -n " " && sleep .1 && echo -n "s" && sleep .1 && echo -n "a" && sleep .1 && echo -n "t" && sleep .1 && echo -n "i" && sleep .1 && echo -n "s" && sleep .1 && echo -n "f" && sleep .1 && echo -n "a" && sleep .1 && echo -n "c" && sleep .1 && echo -n "t" && sleep .1 && echo -n "i" && sleep .1 && echo -n "o" && sleep .1 && echo "n" && sleep 3.4 && echo -n "A" && sleep .09 && echo -n "p" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "t" && sleep .09 && echo -n "u" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "S" && sleep .09 && echo -n "c" && sleep .09 && echo -n "i" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .09 && echo -n "c" && sleep .09 && echo "e" && sleep 2.5 && echo -n "W" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "h" && sleep .09 && echo -n "a" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "u" && sleep .09 && echo -n "s" && sleep .09 && echo "t" && sleep .28 && echo -n "b" && sleep .09 && echo -n "e" && sleep .09 && echo -n "c" && sleep .09 && echo -n "a" && sleep .09 && echo -n "u" && sleep .09 && echo -n "s" && sleep .09 && echo -n "e" && sleep .15 && echo -n " " && sleep .12 && echo -n "w" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .1 && echo -n "c" && sleep .1 && echo -n "a" && sleep .1 && echo "n" && sleep 2.6 && echo -n "F" && sleep .1 && echo -n "o" && sleep .1 && echo -n "r" && sleep .1 && echo -n " " && sleep .1 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "g" && sleep .09 && echo -n "o" && sleep .09 && echo -n "o" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .12 && echo -n "f" && sleep .02 && echo -n " " && sleep .15 && echo -n "a" && sleep .15 && echo -n "l" && sleep .15 && echo -n "l" && sleep .1 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "f" && sleep .02 && echo -n " " && sleep .09 && echo -n "u" && sleep .09 && echo -n "s" && sleep .09 && echo "," && sleep .2 && echo -n "e" && sleep .09 && echo -n "x" && sleep .09 && echo -n "c" && sleep .09 && echo -n "e" && sleep .09 && echo -n "p" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "h" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo "d" && sleep 1 && echo -n "B" && sleep .09 && echo -n "u" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "n" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .09 && echo -n "s" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "c" && sleep .09 && echo -n "r" && sleep .09 && echo -n "y" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .02 && echo -n " " && sleep .09 && echo -n "e" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "y" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "i" && sleep .09 && echo -n "s" && sleep .09 && echo -n "t" && sleep .09 && echo -n "a" && sleep .09 && echo -n "k" && sleep .09 && echo "e" && sleep .06 && echo -n "Y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .02 && echo -n " " && sleep .09 && echo -n "j" && sleep .09 && echo -n "u" && sleep .09 && echo -n "s" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "k" && sleep .09 && echo -n "e" && sleep .09 && echo -n "e" && sleep .09 && echo -n "p" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "r" && sleep .09 && echo -n "y" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .02 && echo -n " " && sleep .09 && echo -n "r" && sleep .09 && echo -n "u" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "f" && sleep .02 && echo -n " " && sleep .09 && echo -n "c" && sleep .09 && echo -n "a" && sleep .09 && echo -n "k" && sleep .09 && echo "e" && sleep .18 && echo -n "A" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "S" && sleep .09 && echo -n "c" && sleep .09 && echo -n "i" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .09 && echo -n "c" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "g" && sleep .09 && echo -n "e" && sleep .09 && echo -n "t" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "o" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .09 && echo "," && sleep .12 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "a" && sleep .09 && echo -n "k" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .02 && echo -n " " && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "g" && sleep .09 && echo -n "u" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "f" && sleep .09 && echo -n "o" && sleep .09 && echo -n "r" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "p" && sleep .09 && echo -n "e" && sleep .09 && echo -n "o" && sleep .09 && echo -n "p" && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "h" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "r" && sleep .09 && echo "e" && sleep .11 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && echo " " && sleep 6.8 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "m" && sleep .01 && echo -n " " && sleep .09 && echo -n "n" && sleep .09 && echo -n "o" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "e" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .09 && echo -n "r" && sleep .09 && echo "y" && sleep 3.5 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "m" && sleep .01 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "c" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "r" && sleep .09 && echo -n "i" && sleep .09 && echo -n "g" && sleep .09 && echo -n "h" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "n" && sleep .09 && echo -n "o" && sleep .09 && echo -n "w" && sleep .09 && echo "," && sleep 2.5 && echo -n "e" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .09 && echo -n "g" && sleep .09 && echo -n "h" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "r" && sleep .09 && echo -n "o" && sleep .09 && echo -n "k" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "y" && sleep .02 && echo -n " " && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "r" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "k" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .09 && echo "," && sleep 3 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "o" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "p" && sleep .09 && echo -n "i" && sleep .09 && echo -n "e" && sleep .09 && echo -n "c" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .09 && echo "," && sleep 3 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "w" && sleep .02 && echo -n " " && sleep .09 && echo -n "e" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "y" && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .2 && echo -n "i" && sleep .2 && echo -n "n" && sleep .2 && echo -n "t" && sleep .2 && echo -n "o" && sleep .1 && echo -n " " && sleep .09 && echo -n "a" && sleep .02 && echo -n " " && sleep .09 && echo -n "f" && sleep .09 && echo -n "i" && sleep .09 && echo -n "r" && sleep .09 && echo "e" && sleep 2.5 && echo -n "A" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "y" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "u" && sleep .09 && echo -n "r" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "i" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "h" && sleep .09 && echo -n "u" && sleep .09 && echo -n "r" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .09 && echo -n "c" && sleep .09 && echo -n "a" && sleep .09 && echo -n "u" && sleep .09 && echo -n "s" && sleep .09 && echo -n "e" && sleep .02 && echo "," && sleep .1 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "a" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "h" && sleep .09 && echo -n "a" && sleep .09 && echo -n "p" && sleep .09 && echo -n "p" && sleep .09 && echo -n "y" && sleep .02 && echo -n " " && sleep .09 && echo -n "f" && sleep .09 && echo -n "o" && sleep .09 && echo -n "r" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .09 && echo "!" && sleep 1 && echo -n "N" && sleep .09 && echo -n "o" && sleep .09 && echo -n "w" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "p" && sleep .09 && echo -n "o" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "t" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "f" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "a" && sleep .09 && echo -n "t" && sleep .09 && echo -n "a" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "a" && sleep .09 && echo -n "k" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "u" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "f" && sleep .09 && echo -n "u" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .09 && echo "," && sleep .1 && echo -n "A" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "e" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "r" && sleep .02 && echo -n "e" && sleep .01 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "f" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .09 && echo -n "t" && sleep .09 && echo -n "a" && sleep .09 && echo "," && sleep .1 && echo -n "W" && sleep .09 && echo -n "e" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "r" && sleep .02 && echo -n "e" && sleep .01 && echo -n " " && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "s" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && sleep .09 && echo -n "S" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "m" && sleep .01 && echo -n " " && sleep .09 && echo -n "G" && sleep .09 && echo -n "L" && sleep .09 && echo -n "a" && sleep .09 && echo -n "D" && sleep .09 && echo -n "," && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "g" && sleep .09 && echo -n "o" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "u" && sleep .09 && echo -n "r" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .09 && echo "d" && sleep .09 && echo -n "T" && sleep .09 && echo -n "h" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "k" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "f" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "r" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .09 && echo -n "d" && sleep .09 && echo "," && sleep .09 && echo -n "f" && sleep .09 && echo -n "o" && sleep .09 && echo -n "r" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "p" && sleep .09 && echo -n "e" && sleep .09 && echo -n "o" && sleep .09 && echo -n "p" && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "h" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "r" && sleep .09 && echo "e" && sleep .09 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && echo " " && sleep 7 && echo -n "G" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo "e" && sleep 2.7 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "k" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "p" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "f" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "t" && sleep .09 && echo -n "a" && sleep .09 && echo -n "y" && sleep .02 && echo -n " " && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "s" && sleep .09 && echo -n "i" && sleep .09 && echo -n "d" && sleep .09 && echo "e" && sleep 3 && echo -n "M" && sleep .09 && echo -n "a" && sleep .09 && echo -n "y" && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .01 && echo -n " " && sleep .02 && echo -n "w" && sleep .02 && echo -n "i" && sleep .02 && echo -n "l" && sleep .02 && echo -n "l" && sleep .01 && echo -n " " && sleep .09 && echo -n "f" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "o" && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .09 && echo -n "o" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "e" && sleep .09 && echo -n "l" && sleep .09 && echo -n "s" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "l" && sleep .09 && echo -n "p" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo "u" && sleep 3.1 && echo -n "M" && sleep .09 && echo -n "a" && sleep .09 && echo -n "y" && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "B" && sleep .09 && echo -n "l" && sleep .09 && echo -n "a" && sleep .09 && echo -n "c" && sleep .09 && echo -n "k" && sleep .02 && echo -n " " && sleep .09 && echo -n "M" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .09 && echo "a" && sleep 3 && echo -n "T" && sleep .09 && echo -n "h" && sleep .09 && echo -n "a" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "a" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .02 && echo -n " " && sleep .09 && echo -n "j" && sleep .09 && echo -n "o" && sleep .09 && echo -n "k" && sleep .09 && echo -n "e" && sleep .09 && echo -n ";" && sleep .02 && echo -n " " && sleep .09 && echo -n "h" && sleep .09 && echo -n "a" && sleep .09 && echo -n "h" && sleep .09 && echo -n "a" && sleep .09 && echo -n "," && sleep .02 && echo -n " " && sleep .09 && echo -n "f" && sleep .09 && echo -n "a" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "c" && sleep .09 && echo -n "h" && sleep .09 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "c" && sleep .09 && echo "e" && sleep 1.9 && echo -n "A" && sleep .09 && echo -n "n" && sleep .09 && echo -n "y" && sleep .09 && echo -n "w" && sleep .09 && echo -n "a" && sleep .09 && echo -n "w" && sleep .09 && echo -n "," && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "i" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "c" && sleep .09 && echo -n "a" && sleep .09 && echo -n "k" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "i" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "g" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo "t" && sleep 1 && echo -n "I" && sleep .09 && echo -n "t" && sleep .01 && echo -n " " && sleep .02 && echo -n "i" && sleep .02 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "e" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "c" && sleep .09 && echo -n "i" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "o" && sleep .09 && echo -n "i" && sleep .09 && echo -n "s" && sleep .09 && echo "t" && sleep 1 && echo -n "L" && sleep .09 && echo -n "o" && sleep .09 && echo -n "o" && sleep .09 && echo -n "k" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "s" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "k" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "S" && sleep .09 && echo -n "c" && sleep .09 && echo -n "i" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .09 && echo -n "c" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo "o" && sleep .1 && echo -n "W" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "l" && sleep .09 && echo -n "o" && sleep .09 && echo -n "o" && sleep .09 && echo -n "k" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "," && sleep .02 && echo -n " " && sleep .09 && echo -n "i" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "a" && sleep .09 && echo -n "k" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "G" && sleep .09 && echo -n "L" && sleep .09 && echo -n "a" && sleep .09 && echo -n "D" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "m" && sleep .02 && echo -n " " && sleep .09 && echo -n "n" && sleep .09 && echo -n "o" && sleep .09 && echo -n "t" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo "u" && sleep 1 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "h" && sleep .02 && echo -n "a" && sleep .02 && echo -n "v" && sleep .02 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "e" && sleep .09 && echo -n "x" && sleep .09 && echo -n "p" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "i" && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .09 && echo -n "t" && sleep .09 && echo -n "s" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "r" && sleep .09 && echo -n "u" && sleep .09 && echo "n" && sleep .09 && echo -n "T" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .01 && echo -n " " && sleep .09 && echo -n "i" && sleep .09 && echo -n "s" && sleep .01 && echo -n " " && sleep .09 && echo -n "r" && sleep .09 && echo -n "e" && sleep .09 && echo -n "s" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "r" && sleep .09 && echo -n "c" && sleep .09 && echo -n "h" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "o" && sleep .09 && echo -n "n" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "o" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "t" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "p" && sleep .09 && echo -n "e" && sleep .09 && echo -n "o" && sleep .09 && echo -n "p" && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "h" && sleep .09 && echo -n "o" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "r" && sleep .09 && echo "e" && sleep .09 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && echo " " && sleep 1.2 && echo -n "A" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo -n "e" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "e" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "m" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo "m" && sleep .09 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && sleep 1.8 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "m" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "o" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .09 && echo -n "S" && sleep .09 && echo -n "c" && sleep .09 && echo -n "i" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .09 && echo -n "c" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo "m" && sleep .12 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && sleep 1 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "f" && sleep .09 && echo -n "e" && sleep .09 && echo -n "e" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "f" && sleep .09 && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "t" && sleep .09 && echo -n "a" && sleep .09 && echo -n "s" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "c" && sleep .02 && echo -n " " && sleep .09 && echo -n " " && echo -n "a" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .02 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo "m" && sleep .1 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && sleep 2 && echo -n "W" && sleep .09 && echo -n "h" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "r" && sleep .02 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "y" && sleep .09 && echo -n "i" && sleep .09 && echo -n "n" && sleep .09 && echo -n "g" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .01 && echo -n " " && sleep .02 && echo -n "w" && sleep .02 && echo -n "i" && sleep .02 && echo -n "l" && sleep .02 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo "e" && sleep 1.1 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && sleep .09 && echo -n "A" && sleep .09 && echo -n "n" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "h" && sleep .09 && echo -n "e" && sleep .09 && echo -n "n" && sleep .02 && echo -n " " && sleep .09 && echo -n "y" && sleep .09 && echo -n "o" && sleep .09 && echo -n "u" && sleep .01 && echo -n " " && sleep .02 && echo -n "a" && sleep .02 && echo -n "r" && sleep .02 && echo -n "e" && sleep .02 && echo -n " " && sleep .09 && echo -n "d" && sleep .09 && echo -n "e" && sleep .09 && echo -n "a" && sleep .09 && echo -n "d" && sleep .02 && echo -n " " && sleep .09 && echo -n "I" && sleep .02 && echo -n " " && sleep .09 && echo -n "w" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "b" && sleep .09 && echo "e" && sleep .09 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep .09 && echo "!" && sleep .09 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo "e" && sleep 2 && echo -n "S" && sleep .09 && echo -n "t" && sleep .09 && echo -n "i" && sleep .09 && echo -n "l" && sleep .09 && echo -n "l" && sleep .02 && echo -n " " && sleep .09 && echo -n "a" && sleep .09 && echo -n "l" && sleep .09 && echo -n "i" && sleep .09 && echo -n "v" && sleep .09 && echo -n "e" && sleep 4.3 && echo "
    .,-;;//;\=,.
    . 1H@@@MM@M#H/ ,+;,
    ,/X+ +M@@M@MM% ,-%HMMM@X/,
    -+@MM; SM@@MH+- ;XMMMM@MMMM@+-
    ,@M@@M- XM@X;. -+XXXXXHHH@[email protected].
    ,%MM@@MH ,@%= ..--=-=;=,.
    +@#@@@MX ., -%HXSS%%%+;
    =; .@M@M$ .;@MMMM@MM;
    X@= -#MM/ .+MM@@@M#;
    ,@M@H; ;@1 . =X#@@@@
    ,@@@MMX, . /H- ;@M@M=
    .H@@@@M@+, %MM+. %#$.
    /MMMM@MMH\. XM@MH; =;
    /%+%SXHH@#= , .H@@@@MX,
    .,,.,,..,,, -%H ,@@@@@MX,
    %MM@@@HHHXM++;;-- .;SMMX =M@@MM%.
    =XMCAMAMAGUEY ,-+HMM@M+ /MMMX=
    =%@M@M#@S .=#@MM@@@M; %M%=
    ,;+#+- /H#MMMMMMM@= =,
    --. =++%%%%+/;-.
    EDIT: Fixed various typos and latency errors this morning.
    Last edited by Him (2010-06-29 16:29:57)

  • Using read() to get byte and readLine to get textline at the same socket

    Hi:
    I know that readLine is used in BufferedReader and read is used in BufferedInputstream,
    but can I read some lines by readline, then read some byte by read. Because InputStreamReader is used to change from Inputstream to Reader ,how can I change from Reader to Inputstream.
    Thanks
    tdk

    I've got the same problem.
    Could you tell me if you found a solution.
    I know that the getBytes is not a solution because the stream was encoded.

  • Gnome-open starts /bin/bash -ic (uname) and uses 100% CPU to open gvim

    I've posted this on stackoverflow and got no answer, hopefully some archers can help me out:
    When I execute
    gnome-open textfile
    I expect gvim to open up. Instead what happens is that the command hangs. When I check htop I see:
    /bin/bash -ic (uname) > /tmp/{some random string of characters}
    using 100% of the CPU. When I kill the process (and I have to use -9), then cpu usage goes back to normal and gvim opens.
    Running
    gvim -f textfile
    without gnome-open works perfectly.
    Any ideas where this process is coming from? Or what it's even doing?
    /bin/bash -ic (uname)
    doesn't even run for me.
    Thank you!

    I've posted this on stackoverflow and got no answer, hopefully some archers can help me out:
    When I execute
    gnome-open textfile
    I expect gvim to open up. Instead what happens is that the command hangs. When I check htop I see:
    /bin/bash -ic (uname) > /tmp/{some random string of characters}
    using 100% of the CPU. When I kill the process (and I have to use -9), then cpu usage goes back to normal and gvim opens.
    Running
    gvim -f textfile
    without gnome-open works perfectly.
    Any ideas where this process is coming from? Or what it's even doing?
    /bin/bash -ic (uname)
    doesn't even run for me.
    Thank you!

  • Bash: unzip file and move into directory if directory created

    I'm writing a script that decompresses zipped/rared files.
    The zips typically have content in a one directory or not contained in a directory.
    Is there a way to see if the unzip process created a directory and move into it or if one wasn't created to operate on the files extracted in the PWD?
    So far the rar files have only had data that gets extracted to PWD, but if I see some with files in directories I'd like for a solution that might work in that case as well.

    Would zipinfo' help?  It lists zip archive files in a format similar to 'ls -l'.
    I only tried this on two zipfiles, and I'm concerned about how foolproof this may or may not be.
    Zipinfo lists the files in the opposite order that they were placed into the zipfile, I think.  If the first file placed into the zip was the parent directory, and so contains all the other files, the listing will be something like that shown below, with the container directory always on the next-to-last line of zipinfo's output:
    -rw-a-- 2.0 fat 1057 tx defX 09-Nov-12 17:56 examples/README.txt
    drwx--- 2.0 fat 0 bx stor 09-Nov-12 16:48 examples/
    42 files, 508682 bytes uncompressed, 133398 bytes compressed: 73.8%
    So one would have to test if the next-to-last line of zipinfo's output begins with 'd' (directory) or '-' (regular file).
    Off the top of my head, with not-so great command-line skills, I came up with:
    zipinfo example.zip | tail -n 2 | grep '^d'

  • [Bash] Variable exapansion and variables within variables

    To make the following script more reusable, I wanted to refactor the "pattern" in a separate variable for the renameit2 function to use. However, it
    currently doesn't work; "tr" throws an error:
    tr: extra operand `\'-\''"
    Can anyone explain how I can achieve what I'm trying to do?
    Here is the complete script:
    old="Hello THIS & test"
    renameit() {
    new=$(echo $old | \
    tr ' ' '-' | tr -d '[{}(),\!]' | tr -d "\'" | tr '[A-Z]' '[a-z]' | \
    sed -e 's/---/-/g' -e 's/&/-and-/g' -e 's/--/-/g' -e 's/_/-/g')
    echo $new
    PATTERN="
    tr ' ' '-' | tr -d '[{}(),\!]' | tr -d "\'" | tr '[A-Z]' '[a-z]' | \
    sed -e 's/---/-/g' -e 's/&/-and-/g' -e 's/--/-/g' -e 's/_/-/g'
    renameit2() {
    new=$(echo $old | $PATTERN)
    echo $new
    case $1 in
    old)
    renameit
    new)
    renameit2
    esac

    Hi,
    I reworked your solution to use an array of sed expressions.
    It becomes
    patterns=( "s/[A-Z]*/\L\\\&/g" #replace uppercase with lowercase (\L\&)
    "s/ /-/g" #replace spaces
    "s/[{}\(\),\\!]//g" #delete some special chars
    "s/\'//g" #delete the single quote
    "s/[\\d038]/-and-/g" #replace the amperstad (ascii no 38 decimal)
    "s/_/-/g" #replace underscores with dashes
    "s/-\{2,\}/-/g" ) #translate all series of dashes to just one dash
    renameit2() {
    new="$old"
    for p in "${patterns[@]}"
    do
    new=$(echo $new|sed -e "$p")
    if [ -z "$new" ] ; then
    echo "Failure at expression ${p}"
    fi
    done
    echo $new
    You could possibly do some xargs magic to cut the loop, but I couldnt be bothered.
    This makes it easy to redifine, add, remove, or reorder individual rules. I reordered some of your rules and joined some other together, and I think I eliminated some possible bugs.
    Last edited by gnud (2009-09-17 11:56:07)

  • Aliases and .. in bash

    I asked about this a while back http://bbs.archlinux.org/viewtopic.php?id=79301, but we didn't get it figured out.
    Try this:
    $ mkdir -p $HOME/test/{alpha,beta}
    $ cd $HOME/test/alpha
    $ touch one
    $ ln -s $HOME/test/beta alphabeta
    $ cd alphabeta
    $ pwd
    /home/jim/test/alpha/alphabeta
    $ pwd -P
    /home/jim/test/beta
    $ ls ../o<here press tab>
    If you have bash-completion activated, then pressing tab will correctly autocomplete to give you:
    $ ls ../one
    So for autocompletion .. pays attention to your logical working directory, whose (logical) parent is ~/test/alpha.
    However look at the output of the ls command:
    ls: cannot access ../one: No such file or directory
    Huh? It looks like the ls command itself is interpreting .. to refer to the directory's physical parent instead. Who would want to do that?
    If that's what I wanted, I would "cd -P ." first.
    This behavior has been plaguing me for all of Bash 4.x. I haven't gone back to Bash 3.x but I really don't think it was always this way. (I wouldn't be so surprised everytime it happens if I've been dealing with it for years.)
    In my previous post, others reported not seeing this same behavior. So I thought it might be something in my .bashrc. But even if I move all my bash-related dotfiles elsewhere and start a new shell, I still get this problem. Can others at least report in whether they see this behavior too?
    I just now tried building and installing the new bash 4.1 (and readline 6.1) that were just released, but I get the problem with them too.

    I get the same result on BASH 4.0.35:
    [mike@mac|~/test] $ ls -ia {alpha,alpha/alphabeta,beta}
    alpha:
    658340 . 658333 .. 658343 alphabeta 658342 one
    alpha/alphabeta:
    658341 . 658333 ..
    beta:
    658341 . 658333 ..
    That is alpha, alpha/alphabeta and beta all have the same parent according to ls. Can't say this has ever been an issue for me though.

  • Throwing and catching deliberate errors in bash

    Hello,
    In many languages one can throw deliberate errors of a specific kind as well as catch-trap for specific errors. I'm having a hard time determining how to do this in bash 3.2 with it's 'trap' command.
    Moreover, I can't figure out whether or not if it's even possible to catch for specific thrown errors defined by a scripter in bash. My own tests have led to a dead end and I haven't come any better understanding from reading the bash info docs, and numerous online and in print examples of the 'trap' command.
    Basically, I wish to...
    1. First, have scripts throw a specifically, identifiable, unique error when a certain known bad state has been encountered that they can't handle.
    2. Secondly, to able to test for whether scripts are throwing an specific error under a certain condition.
    3. Trap for and catch only that specific error and then keep on going, performing further automated tests.
    Is this possible in bash?
    Below is an example which might better illustrate what I've attempted to do. It unfortunately, doesn't do what's needed at the moment. i.e.- It will catch all errors and exits but not a specific one.
    #--- The example below traps all errors but not the specific one.
    particular_function()
    current_status="some known bad condition"
    if [ "$current_status" = "some known bad condition" ]; then
    # Encountered some known condition we can't handle so throw specific error.
    echo "Encountered a, we knew this would happen, type error."
    exit -99
    fi
    testmethod_for_expectederror()
    trap 'echo "function threw expected error code as it should."' EXIT
    particular_function
    testmethod_for_expectederror
    echo "Continued passed caught error as desired and continuing further tests..."
    Thanks,
    -Anthony

    {quote:title=BobHarris wrote:}The bash trap statement was not intended as an alternate way to return errors.
    But if you want to generate your own signals, then use the kill command.
    See "man 1 kill". {quote}
    It sounds like I'm attempting to pound a square peg through a round hole? Attempting workarounds, like shaving off the corners of the peg, might eventually just lead to loss of sanity, time wasted - gone forever, never to return.
    So, perhaps I'll try some other method.
    If it offers a little more clarity, I'm trying determine [how to write tests|http://xp123.com/xplor/xp0101/index.shtml|Test-First Stoplight - write a test first before writing a line of code.], in bash, for situations where a script [should halt executing|http://xunitpatterns.com/Test%20Method.html#Expected%20Exception%20Te st|Expected exception test pattern] when it encounters something it can't handle rather than keep on going causing potential mishaps.
    Basically, I would like to avoid causing the [xUnit testing framework|http://www.martinfowler.com/bliki/Xunit.html|xUnit testing frameworks in XP] I'm using [(shUnit2)|http://code.google.com/p/shunit2/|shUnit2 project site] from incorrectly reporting expected errors, that are suppose to be thrown, by a script, as failures. An expected, [correctly thrown error|http://books.google.ca/books?id=gFgndevwMAC&pg=PA163&lpg=PA163&dq=%22exceptiontest%22+%22test+driven+development%22patterns&source=bl&ots=enHrtsSunH&sig=PbbvWbea_VkqVAbdGYZwJDUcygI&hl=en&ei=XQslS qzSDs-EmQfIvqCFCA&sa=X&oi=bookresult&ct=result&resnum=1|Catch expected exceptions and ignore them. in TDD by Kent Beck] should be counted as a success by the framework in that context. Assuming, the script didn't exit in a bad way. At the same time, unforeseen errors should not be blocked and should propagate up to be reported as an erring test.
    Thanks for your help,
    -Anthony

  • Can OS X start (and stop) bash by itself?

    A little earlier I noticed some data coming in to my Mac over the internet, perhaps a couple of megabytes, which is not unusual in itself, but I checked in Activity Monitor at that moment, and saw that bash was running and then quit moments after the data ceased coming in. I have not seen this before, yet have many times observed which processes are running.
    Knowing very little of computer science or the use of shells, I felt it best to ask of someone who knows for sure, and so am humbly doing so here.
    Will

    Applications and other running processes sometimes create shells or faceless background processes as part of their normal operation, which exit after whatever task is done. If you click on the Inspect button for it, you may find out more details about what it's being used for.
    (53821)

  • NX-OS ( n7000-s1-dk9.5.1.3.bin ) BASH VULNERABILITY - CVE-2014-6271 and CVE-2014-7169

    Hi ,
    Nexus 7000 evaluation for CVE-2014-6271 and CVE-2014-7169 , I am referring below link to check for NX OS  - n7000-s1-dk9.5.1.3.bin
    https://tools.cisco.com/bugsearch/bug/CSCur04856
    5.1.3 is not mentioned in the affected list.Need help to know if 5.1 is affected with BASH Vulnerability .
    Thanks for help in advance .

    The concern with the bash shell is that services MAY be setup to run as
    users which use those shells, and therefore be able to have things
    injected into those shells. Nothing on NetWare uses bash by default,
    because NetWare is not anything like Linux/Unix in its use of shells.
    Sure, you can load bash for fun and profit on NetWare, but unless you
    explicitly request it the bash.nlm file is never used. On NetWare I do
    not think it is even possible to have any normal non-Bash environment
    variable somehow be exported/inherited into a bash shell, though I've
    never tried.
    Good luck.
    If you find this post helpful and are logged into the web interface,
    show your appreciation and click on the star below...

  • Linux-ck and bash's history-search-backward

    This issue seems really weird to me. I have this in my .inputrc:
    $if mode=vi
    set keymap vi-command
    # these are for vi-command mode
    "\ek": history-search-backward
    "\ej": history-search-forward
    "\e.": yank-last-arg
    set keymap vi-insert
    # these are for vi-insert mode
    "\ek": history-search-backward
    "\ej": history-search-forward
    "\e.": yank-last-arg
    $endif
    This has been working for ages and still works when I boot the standard 3.0 kernel. But when I boot the 3.0-ck kernel, alt+j and alt+k do become previous-history and next-history respectively.
    So, what does the ck-kernel has to do with these bash bindings?

    I would like the up and down arrows to perform a search of the history for the string I have typed in the terminal. That is if I had issued the following sequence of commands in the terminal,
    +$cd ~/+
    +$nano .bash_profile+
    +$vi .bash_profile+
    so now these commands are sequentially listed in my bash history. Now if I press the up arrow, the first command to come up will be the last one that I entered, that is, +$vi .bash_profile+. Now if I had instead pressed +up+ three times, the command, +$cd ~/+ would come up. Now what I want bash to do, and had working in OS X 10.4, is if I type a string into the terminal (and DO NOT press ENTER) such as, +$cd+ , then I press +up+, bash will search through the terminal history for the instances of the command +cd+ that I have previously entered. This is the same behavior as the MATLAB command prompt.
    I know this is possible because it used to work. I would like to have this behavior again because it is very useful. I do know that I can use +crl-R+ to search the history, but this is kind of a pain to use and it doesn't work very well.
    Message was edited by: jetak

  • Bash: push a string on input

    I want to try to put a file manager in PROMPT_COMMAND, where e.g. you choose some files, press F6, and the top-level, interactive prompt then shows
    $PS1 mv \
    /tmp/file1 \
    /tmp/file2 (space)
    Kind of like read -e -i "ls "; eval $REPLY
    So far I thought of two solutions:
    xsel -x
    echo -n "$filemanager_output" | xsel -i
    xdotool key --clearmodifiers Shift+Insert
    xsel -x
    This may paste things out of the window (if you're quick)
    (+edit) It won't work if the mouse isn't on the window.
    And using screen:
    echo -n "$filemanager_output" > /tmp/filemanager_output
    (screen escape) readreg a /tmp/filemanager_output
    (screen escape) paste a
    But then screen is a requirement.
    I couldn't find a bash built-in or readline command to do this, maybe I missed it?
    What do you think of the above solutions? Too "hackish"?
    Last edited by Procyon (2010-02-04 17:36:19)

    Read the networking tutorial:
    [http://java.sun.com/docs/books/tutorial/networking/sockets/index.html]
    Kaj

  • Different Environment Variable in OS and Solman

    Hi dear experts,
    I have a weird question here. I set the environment variable in the OS as blew:
    smsp:smpadm 52> echo $PATH
    /sybase/SMP/ASE-15_0/jobscheduler/bin:/sybase/SMP/ASE-15_0/bin:/sybase/SMP/ASE-15_0/install:/sybase/SMP/DBISQL/bin:/sybase/SMP/OCS-15_0/bin:/usr/sap/SMP/DVEBMGS00/exe/sapjvm_4/bin:/home/smpadm/bin:/usr/sap/SMP/hdbclient:/sapdb/programs/bin:/sapdb/clients/SMP/bin:/sapdb/clients/SMP/pgm:/sapdb/programs/pgm:/sapdb/programs:/sapdb/programs/lib:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/sap/SMP/SYS/exe/uc/linuxx86_64:/usr/sap/SMP/SYS/exe/run:/home/smpadm:.
    But in solman, I run the same command in RSBDCOS0, get this:
    echo $PATH
    /usr/sap/SMP/DVEBMGS00/exe:/sybase/SMP/ASE-15_0/jobscheduler/bin:/sybase/SMP/ASE-15_0/bin:/sybase/SMP/ASE-15_0/install:/sybase/SMP/DBISQL/bin:/sybase/SMP/OCS-15_0/bin:/usr/sap/SMP/DVEBMGS00/exe/sapjvm_4/bin:/home/smpadm/bin:/usr/local/bin:/bin:/usr/bin:/u
    It's same as what I found in program by debugging. And that's the reason why I failed to install MaxDB.
    I have restarted solman, but the issue persisted. Can you give me any advices? Thank you.
    Regards,
    Pany Pan

    Hi Gaurav,
    There is only bash.bashrc exists, I have never did anything to this file before. As below:
    # /etc/bash.bashrc for SuSE Linux
    # PLEASE DO NOT CHANGE /etc/bash.bashrc There are chances that your changes
    # will be lost during system upgrades.  Instead use /etc/bash.bashrc.local
    # for your local settings, favourite global aliases, VISUAL and EDITOR
    # variables, etc ...
    # Check which shell is reading this file
    if test -z "$is" ; then
    if test -f /proc/mounts ; then
      if ! is=$(readlink /proc/$$/exe 2>/dev/null) ; then
        case "$0" in
        *pcksh) is=ksh ;;
        *) is=sh ;;
        esac
      fi
      case "$is" in
        */bash) is=bash
      case "$0" in
      sh|-sh|*/sh)
      is=sh ;;
      esac ;;
        */ash) is=ash  ;;
        */dash) is=ash  ;;
        */ksh) is=ksh  ;;
        */ksh93) is=ksh  ;;
        */pdksh) is=ksh  ;;
        */*pcksh) is=ksh  ;;
        */zsh) is=zsh  ;;
        */*) is=sh   ;;
      esac
      # `r' in $- occurs *after* system files are parsed
      for a in $SHELL ; do
        case "$a" in
          */r*sh)
            readonly restricted=true ;;
          -r*|-[!-]r*|-[!-][!-]r*)
            readonly restricted=true ;;
          --restricted)
            readonly restricted=true ;;
        esac
      done
      unset a
    else
      is=sh
    fi
    fi
    # Call common progams from /bin or /usr/bin only
    path ()
        if test -x /usr/bin/$1 ; then
      ${1+"/usr/bin/$@"}
        elif test -x   /bin/$1 ; then
      ${1+"/bin/$@"}
        fi
    # ksh/ash sometimes do not know
    test -z "$UID"  && readonly  UID=`path id -ur 2> /dev/null`
    test -z "$EUID" && readonly EUID=`path id -u  2> /dev/null`
    # Colored file listings
    if test -x /usr/bin/dircolors ; then
        # set up the color-ls environment variables:
        if test -f $HOME/.dir_colors ; then
      eval "`/usr/bin/dircolors -b $HOME/.dir_colors`"
        elif test -f /etc/DIR_COLORS ; then
      eval "`/usr/bin/dircolors -b /etc/DIR_COLORS`"
        fi
    fi
    # ls color option depends on the terminal
    # If LS_COLORS is set but empty, the terminal has no colors.
    if test "${LS_COLORS+empty}" = "${LS_COLORS:+empty}" ; then
        LS_OPTIONS=--color=tty
    else
        LS_OPTIONS=--color=none
    fi
    if test "$UID" = 0 ; then
        LS_OPTIONS="-A -N $LS_OPTIONS -T 0"
    else
        LS_OPTIONS="-N $LS_OPTIONS -T 0"
    fi
    # Avoid trouble with Emacs shell mode
    if test "$EMACS" = "t" ; then
        LS_OPTIONS='-N --color=none -T 0';
        path tset -I -Q
        path stty cooked pass8 dec nl -echo
    fi
    export LS_OPTIONS
    # Set prompt and aliases to something useful for an interactive shell
    case "$-" in
    *i*)
        # Some useful functions
        if test -z "$restricted" ; then
      startx  () {
         test -x /usr/bin/startx || {
      echo "No startx installed" 1>&2
      return 1;
         /usr/bin/startx ${1+"$@"} 2>&1 | tee $HOME/.xsession-errors
      remount () { /bin/mount -o remount,${1+"$@"} ; }
        fi
        # Set prompt to something useful
        case "$is" in
        bash)
      # Append history list instead of override
      shopt -s histappend
      # All commands of root will have a time stamp
      if test "$UID" -eq 0  ; then
         HISTTIMEFORMAT=${HISTTIMEFORMAT:-"%F %H:%M:%S "}
      fi
      # Force a reset of the readline library
      unset TERMCAP
      # Returns short path (last two directories)
      spwd () {
       ( IFS=/
         set $PWD
         if test $# -le 3 ; then
      echo "$PWD"
         else
      eval echo \"..\${$(($#-1))}/\${$#}\"
         fi ) ; }
      # Set xterm prompt with short path (last 18 characters)
      ppwd () {
         local _t="$1" _w _x _u="$USER" _h="$HOST"
         test -n "$_t"    || return
         test "${_t#tty}" = $_t && _t=pts/$_t
         test -O /dev/$_t || return
         _w="$(dirs +0)"
         _x=$((${#_w}-18))
         test ${#_w} -le 18 || _w="...${_w#$(printf "%.*s" $_x "$_w")}"
         printf "\e]2;%s@%s:%s\007\e]1;%s\007" "$_u" "$_h" "$_w" "$_h" > /dev/$_t
      # If set: do not follow sym links
      # set -P
      # Other prompting for root
      _t=""
      if test "$UID" -eq 0  ; then
         _u="\h"
         _p=" #"
      else
         _u="\u@\h"
         _p=">"
         if test \( "$TERM" = "xterm" -o "${TERM#screen}" != "$TERM" \) \
         -a -z "$EMACS" -a -z "$MC_SID" -a -n "$DISPLAY" \
         -a ! -r $HOME/.bash.expert
         then
      _t="\$(ppwd \l)"
         fi
         if test -n "$restricted" ; then
      _t=""
         fi
      fi
      case "$(declare -p PS1 2> /dev/null)" in
      *-x*PS1=*)
         # With full path on prompt
         PS1="${_t}${_u}:\w${_p} "
    #    # With short path on prompt
    #    PS1="${_t}${_u}:\$(spwd)${_p} "
    #    # With physical path even if reached over sym link
    #    PS1="${_t}${_u}:\$(pwd -P)${_p} "
      esac
      # Colored root prompt (see bugzilla #144620)
      if test "$UID" -eq 0 -a -t ; then
         _bred="$(path tput bold 2> /dev/null; path tput setaf 1 2> /dev/null)"
         _sgr0="$(path tput sgr0 2> /dev/null)"
         PS1="\[$_bred\]$PS1\[$_sgr0\]"
         unset _bred _sgr0
      fi
      unset _u _p _t
        ash)
      cd () {
         local ret
         command cd "$@"
         ret=$?
         PWD=$(pwd)
         if test "$UID" = 0 ; then
      PS1="${HOST}:${PWD} # "
         else
      PS1="${USER}@${HOST}:${PWD}> "
         fi
         return $ret
      cd .
        ksh)
      # Some users of the ksh are not common with the usage of PS1.
      # This variable should not be exported, because normally only
      # interactive shells set this variable by default to ``$ ''.
      if test "${PS1-\$ }" = '$ ' ; then
         if test "$UID" = 0 ; then
      PS1="${HOST}:"'${PWD}'" # "
         else
      PS1="${USER}@${HOST}:"'${PWD}'"> "
         fi
      fi
        zsh)
    # setopt chaselinks
      if test "$UID" = 0; then
         PS1='%n@%m:%~ # '
      else
         PS1='%n@%m:%~> '
      fi
    # PS1='\u:\w> '
      PS1='\h:\w> '
        esac
        PS2='> '
        if test "$is" = "ash" ; then
      # The ash shell does not have an alias builtin in
      # therefore we use functions here. This is a seperate
      # file because other shells may run into trouble
      # if they parse this even if they do not expand.
      test -s /etc/profile.d/alias.ash && . /etc/profile.d/alias.ash
        else
      unalias ls 2>/dev/null
            case "$is" in
      bash) alias ls='ls $LS_OPTIONS' ;;
      zsh)  alias ls='\ls $=LS_OPTIONS' ;;
      *)    alias ls='/bin/ls $LS_OPTIONS' ;;
      esac
      alias dir='ls -l'
      alias ll='ls -l'
      alias la='ls -la'
      alias l='ls -alF'
      alias ls-l='ls -l'
      # Set some generic aliases
      alias o='less'
      alias ..='cd ..'
      alias ...='cd ../..'
      alias cd..='cd ..'
      if test "$is" != "ksh" ; then
         alias -- +='pushd .'
         alias -- -='popd'
      fi
      alias rd=rmdir
      alias md='mkdir -p'
      if test "$is" = "bash" -a ! -x /bin/which -a ! -x /usr/bin/which ; then
         # Other shells use the which command in path (e.g. ash) or
         # their own builtin for the which command (e.g. ksh and zsh).
         _which () {
      local file=$(type -p ${1+"$@"} 2>/dev/null)
      if test -n "$file" -a -x "$file"; then
         echo "$file"
         return 0
      fi
      hash -r
      type -P ${1+"$@"}
         alias which=_which
      fi
      alias rehash='hash -r'
      alias you='if test "$EUID" = 0 ; then /sbin/yast2 online_update ; else su - -c "/sbin/yast2 online_update" ; fi'
      if test "$is" != "ksh" ; then
         alias beep='echo -en "\007"'
      else
         alias beep='echo -en "\x07"'
      fi
      alias unmount='echo "Error: Try the command: umount" 1>&2; false'
      test -s $HOME/.alias && . $HOME/.alias
        fi
        # Expert mode: if we find $HOME/.bash.expert we skip our settings
        # used for interactive completion and read in the expert file.
        if test "$is" = "bash" -a -r $HOME/.bash.expert ; then
      . $HOME/.bash.expert
        elif test "$is" = "bash" ; then
      # Complete builtin of the bash 2.0 and higher
      case "$BASH_VERSION" in
      [2-9].*)
         if test -e $HOME/.bash_completion ; then
      . $HOME/.bash_completion
         elif test -e /etc/bash_completion ; then
      . /etc/bash_completion
         elif test -s /etc/profile.d/complete.bash ; then
      . /etc/profile.d/complete.bash
         fi
         for s in /etc/bash_completion.d/*.sh ; do
      test -r $s && . $s
         done
         if test -f /etc/bash_command_not_found ; then
      . /etc/bash_command_not_found
         fi
      esac
        fi
        # Do not save dupes and lines starting by space in the bash history file
        HISTCONTROL=ignoreboth
        if test "$is" = "ksh" ; then
      # Use a ksh specific history file and enable
        # emacs line editor
        : ${HISTFILE=$HOME/.kshrc_history}
        : ${VISUAL=emacs}
      case $(set -o) in
      *multiline*) set -o multiline
      esac
        fi
        # command not found handler in zsh version
        if test "$is" = "zsh" ; then
      if test -f /etc/zsh_command_not_found ; then
         . /etc/zsh_command_not_found
      fi
        fi
    esac
    # Just in case the user excutes a command with ssh
    if test -n "$SSH_CONNECTION" -a -z "$PROFILEREAD" ; then
        _SOURCED_FOR_SSH=true
        . /etc/profile > /dev/null 2>&1
        unset _SOURCED_FOR_SSH
    fi
    # And now let us see if there is e.g. a local bash.bashrc
    # (for options defined by your sysadmin, not SuSE Linux)
    case "$is" in
    bash) test -s /etc/bash.bashrc.local && . /etc/bash.bashrc.local ;;
    ksh)  test -s /etc/ksh.kshrc.local   && . /etc/ksh.kshrc.local ;;
    zsh)  test -s /etc/zsh.zshrc.local   && . /etc/zsh.zshrc.local ;;
    ash)  test -s /etc/ash.ashrc.local   && . /etc/ash.ashrc.local
    esac
    test -s /etc/sh.shrc.local && . /etc/sh.shrc.local
    if test -n "$restricted" -a -z "$PROFILEREAD" ; then
        PATH=/usr/lib/restricted/bin
        export PATH
    fi
    # End of /etc/bash.bashrc

  • Update Bash Live Production System?

    Hello All,
    I have updated bash and redline on our three servers which I have the ability to reboot at anytime but need to do our two servers that are actively accessed at all times. One is an OES2 SP3 (SLES 10 SP4) file server and the other is a OES 11 SP2 (SLES 11 SP3) Groupwise server. My question is can I update just the bash and redline without restarting the server or interrupting services? Does it matter which method I use? Rug/zypper vs. direct download of RPMs
    Thanks for the advise.
    Daniel

    deejay33 Wrote in message:
    > I have updated bash and redline on our three servers which I have the
    > ability to reboot at anytime but need to do our two servers that are
    > actively accessed at all times. One is an OES2 SP3 (SLES 10 SP4) file
    > server and the other is a OES 11 SP2 (SLES 11 SP3) Groupwise server. My
    > question is can I update just the bash and redline without restarting
    > the server or interrupting services? Does it matter which method I use?
    > Rug/zypper vs. direct download of RPMs
    To answer your rug vs. zypper question first - zypper was provided
    as a Technology Preview only in SLES10 so when updating OES2 SP3
    you should use rug.
    Now to address source of patches - if patching OES servers always
    use the patches provided by Novell, either through the update
    channels or download from Novell's Patch Finder site. Only
    download the Shellshock patches from SUSE if your version of OES
    is no longer supported (General or Extended) which is not the
    case here.
    After updating the bash and readline packages there is no need to
    restart the server but you should make sure you logout any
    terminal/SSH sessions and kill any remaining active bash
    processes.
    HTH.
    Simon Flood
    Novell Knowledge Partner

Maybe you are looking for