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
-
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
tdkI'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
esacHi,
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.
WillApplications 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) -
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 PanHi 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.
Danieldeejay33 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
-
Need to convert long data type to varchar2
I need to convert a long datatype in an existing table to a varchar2, in either another table or view. I have a 3rd party application which needs to query the data in the long data type, but it can "handle" the long. What is the best way to do this?
-
Premiere Pro CC 2014 - Video playing faster than audio - Out Of Sync?
Hi All, It's been some time since I've had to write about any problems here. Sooo, I've got Adobe Premiere Pro CC 7.2.2. (Using AJA KONA IoExpress BoB) I've imported a 5 minute AVI file (video=1920x1080, Data=65587kbps, Total=66355kbps, 30fps. - -
-
Hi,,,im a newbie so be gentle with me...lol
hi,,, im a newbie,,,be gentle with me...lol
-
i have to test the idoc in we19..and never worked before on idocs... my idoc is invoic02 and FM is idoc_input_invoic_fi Plz help//i m getting problem in data mapping
-
Current list of available Game Center Apps
If you know any Apps that are working in Game Center, let the world know. Please post problems and troubleshooting in different threads.