From 46dc3f4565693891ba3efd219b49329229ec669a Mon Sep 17 00:00:00 2001 From: mitty Date: Tue, 17 Nov 2009 01:37:45 +0000 Subject: [PATCH] * add original .bashrc .profile from Ubuntu Hardy * bin/smartgrep * grep smartctl output * bin/svnst * snip svn status output * bin/wake * wakeup on LAN helper git-svn-id: https://lab.mitty.jp/svn/lab/trunk@25 7d2118f6-f56c-43e7-95a2-4bb3031d96e7 --- .bashrc | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ .profile | 21 +++++++++++++ bin/smartgrep | 5 ++++ bin/svnst | 3 ++ bin/wake | 53 ++++++++++++++++++++++++++++++++ 5 files changed, 175 insertions(+) create mode 100644 .bashrc create mode 100644 .profile create mode 100644 bin/smartgrep create mode 100644 bin/svnst create mode 100644 bin/wake diff --git a/.bashrc b/.bashrc new file mode 100644 index 0000000..bf4fff5 --- /dev/null +++ b/.bashrc @@ -0,0 +1,93 @@ +# ~/.bashrc: executed by bash(1) for non-login shells. +# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) +# for examples + +# If not running interactively, don't do anything +[ -z "$PS1" ] && return + +# don't put duplicate lines in the history. See bash(1) for more options +export HISTCONTROL=ignoredups +# ... and ignore same sucessive entries. +export HISTCONTROL=ignoreboth + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. +shopt -s checkwinsize + +# make less more friendly for non-text input files, see lesspipe(1) +[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# set variable identifying the chroot you work in (used in the prompt below) +if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) +fi + +# set a fancy prompt (non-color, unless we know we "want" color) +case "$TERM" in + xterm-color) color_prompt=yes;; +esac + +# uncomment for a colored prompt, if the terminal has the capability; turned +# off by default to not distract the user: the focus in a terminal window +# should be on the output of commands, not on the prompt +#force_color_prompt=yes + +if [ -n "$force_color_prompt" ]; then + if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then + # We have color support; assume it's compliant with Ecma-48 + # (ISO/IEC-6429). (Lack of such support is extremely rare, and such + # a case would tend to support setf rather than setaf.) + color_prompt=yes + else + color_prompt= + fi +fi + +if [ "$color_prompt" = yes ]; then + PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' +else + PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' +fi +unset color_prompt force_color_prompt + +# If this is an xterm set the title to user@host:dir +case "$TERM" in +xterm*|rxvt*) + PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"' + ;; +*) + ;; +esac + +# Alias definitions. +# You may want to put all your additions into a separate file like +# ~/.bash_aliases, instead of adding them here directly. +# See /usr/share/doc/bash-doc/examples in the bash-doc package. + +#if [ -f ~/.bash_aliases ]; then +# . ~/.bash_aliases +#fi + +# enable color support of ls and also add handy aliases +if [ "$TERM" != "dumb" ] && [ -x /usr/bin/dircolors ]; then + eval "`dircolors -b`" + alias ls='ls --color=auto' + #alias dir='ls --color=auto --format=vertical' + #alias vdir='ls --color=auto --format=long' + + #alias grep='grep --color=auto' + #alias fgrep='fgrep --color=auto' + #alias egrep='egrep --color=auto' +fi + +# some more ls aliases +#alias ll='ls -l' +#alias la='ls -A' +#alias l='ls -CF' + +# enable programmable completion features (you don't need to enable +# this, if it's already enabled in /etc/bash.bashrc and /etc/profile +# sources /etc/bash.bashrc). +if [ -f /etc/bash_completion ]; then + . /etc/bash_completion +fi diff --git a/.profile b/.profile new file mode 100644 index 0000000..923cbac --- /dev/null +++ b/.profile @@ -0,0 +1,21 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. +# see /usr/share/doc/bash/examples/startup-files for examples. +# the files are located in the bash-doc package. + +# the default umask is set in /etc/profile +#umask 022 + +# if running bash +if [ -n "$BASH_VERSION" ]; then + # include .bashrc if it exists + if [ -f "$HOME/.bashrc" ]; then + . "$HOME/.bashrc" + fi +fi + +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi diff --git a/bin/smartgrep b/bin/smartgrep new file mode 100644 index 0000000..2a5c5c3 --- /dev/null +++ b/bin/smartgrep @@ -0,0 +1,5 @@ +for DEVICE in `ls /dev/[hs]d?` +do + echo -n "$DEVICE: " + sudo smartctl -a $DEVICE | grep $1 +done diff --git a/bin/svnst b/bin/svnst new file mode 100644 index 0000000..1260525 --- /dev/null +++ b/bin/svnst @@ -0,0 +1,3 @@ +#! /bin/sh + +svn st $1 | grep "^[^?]" diff --git a/bin/wake b/bin/wake new file mode 100644 index 0000000..538e100 --- /dev/null +++ b/bin/wake @@ -0,0 +1,53 @@ +#!/usr/bin/perl + +use Cwd qw( realpath ); +use File::Basename qw( fileparse ); + +@cfg = ('.wake', ( (fileparse( realpath($0) ))[1] ) . '.wake'); +$mac = {}; + +$x = '[0-9a-fA-F]'; +$macre = "$x$x:$x$x:$x$x:$x$x:$x$x:$x$x"; +$ipre = "\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}"; + +foreach my $cfg (@cfg) { + open(CFG, $cfg); + while () { + next if /^\s*#/; + next if /^\s*$/; + + chomp; + my($host, $hw, $ip) = split; + push @{$mac->{lc($host)}}, { MAC => $hw, IP => $ip }; + } +} + +if (@ARGV) { + foreach $host (@ARGV) { + if ($host =~ /$macre/) { + print qx(wakeonlan $host); + } + elsif (@physical = @{$mac->{lc($host)}}) { + foreach my $mac (@physical) { + if ($mac->{IP}) { + print qx(wakeonlan -i $mac->{IP} $mac->{MAC}); + } + else { + print qx(wakeonlan $mac->{MAC}); + } + } + } + else { + print lc($host) . ": no such host in the list.\n"; + } + } +} +else { + foreach $host (sort keys %$mac) { + $physical = $mac->{lc($host)}; + foreach my $mac (@$physical) { + print "$host -> $mac->{MAC} -> $mac->{IP}\n"; + } + } +} + -- 1.7.9.5