diff options
Diffstat (limited to 'fedora/.config/bash/scripts.bash')
| -rw-r--r-- | fedora/.config/bash/scripts.bash | 436 |
1 files changed, 0 insertions, 436 deletions
diff --git a/fedora/.config/bash/scripts.bash b/fedora/.config/bash/scripts.bash deleted file mode 100644 index 400265d..0000000 --- a/fedora/.config/bash/scripts.bash +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/bash - -########################################################################################### -########################################################################################### -### --- APACHE --- ### -# View Apache logs -apachelog() { - if [ -f /etc/httpd/conf/httpd.conf ]; then - cd /var/log/httpd && ls -xAh && multitail --no-repeat -c -s 2 /var/log/httpd/*_log - else - cd /var/log/apache2 && ls -xAh && multitail --no-repeat -c -s 2 /var/log/apache2/*.log - fi -} - -# Edit the Apache configuration -apacheconfig() { - if [ -f /etc/httpd/conf/httpd.conf ]; then - sedit /etc/httpd/conf/httpd.conf - elif [ -f /etc/apache2/apache2.conf ]; then - sedit /etc/apache2/apache2.conf - else - echo "Error: Apache config file could not be found." - echo "Searching for possible locations:" - sudo updatedb && locate httpd.conf && locate apache2.conf - fi -} - -########################################################################################### -########################################################################################### -### --- BASH --- ### -# Automatically install the needed support files for this .bashrc file -install_bashrc_support() { - local dtype - dtype=$(distribution) - - if [ $dtype == "redhat" ]; then - sudo yum install multitail tree joe - elif [ $dtype == "suse" ]; then - sudo zypper install multitail - sudo zypper install tree - sudo zypper install joe - elif [ $dtype == "debian" ]; then - sudo apt-get install multitail tree joe - elif [ $dtype == "gentoo" ]; then - sudo emerge multitail - sudo emerge tree - sudo emerge joe - elif [ $dtype == "mandriva" ]; then - sudo urpmi multitail - sudo urpmi tree - sudo urpmi joe - elif [ $dtype == "slackware" ]; then - echo "No install support for Slackware" - else - echo "Unknown distribution" - fi -} - -########################################################################################### -########################################################################################### -### --- CD --- ### -# Move and go to the directory -mvg() { - if [ -d "$2" ]; then - mv $1 $2 && cd $2 - else - mv $1 $2 - fi -} - -# Create and go to the directory -mc() { - mkdir -p $1 && cd $1 -} - -# Go up a specified number of directories (i.e. up 4) -up() { - local d="" - limit=$1 - for ((i = 1; i <= limit; i++)); do - d=$d/.. - done - d=$(echo $d | sed 's/^\///') - if [ -z "$d" ]; then - d=.. - fi - cd $d -} - -#Automatically do an ls after each cd -# cd () { -# if [ -n "$1" ]; then -# builtin cd "$@" && ls -# else -# builtin cd ~ && ls -# fi -# } - -# Returns the last 2 fields of the working directory -pwdtail() { - pwd | awk -F/ '{nlast = NF -1;print $nlast"/"$NF}' -} - -########################################################################################### -########################################################################################### -### --- COMMAND OUTPUT --- ### -alias ilco=insert_last_command_output -insert_last_command_output() { - local last_cmd - last_cmd=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//') - eval "$last_cmd" -} - -########################################################################################### -########################################################################################### -### --- COPY --- ### -# Copy file with a progress bar -cpf() { - set -e - strace -q -ewrite cp -- "${1}" "${2}" 2>&1 | - awk '{ - count += $NF - if (count % 10 == 0) { - percent = count / total_size * 100 - printf "%3d%% [", percent - for (i=0;i<=percent;i++) - printf "=" - printf ">" - for (i=percent;i<100;i++) - printf " " - printf "]\r" - } - } - END { print "" }' total_size=$(stat -c '%s' "${1}") count=0 -} - -# Copy and go to the directory -cpg() { - if [ -d "$2" ]; then - cp $1 $2 && cd $2 - else - cp $1 $2 - fi -} - -########################################################################################### -########################################################################################### -### --- CREATE --- ### -alias mc=mkcd -mkcd() { mkdir -p "$1" && cd "$1" || return; } - -mkdt() { - mkdir -p "${1:+$1/}$(date +%F)" -} - -########################################################################################### -########################################################################################### -### --- CURSOR --- ### -# vi-mode cursor change -function update_cursor { - if [[ $READLINE_LINE == * ]]; then - if [[ $READLINE_POINT -eq 0 ]]; then - echo -ne '\e[6 q' # insert mode - else - echo -ne '\e[2 q' # command mode - fi - fi -} - -# vi-command, vi-insert 모드 hook 등록 -bind -m vi-insert '":": "\C-o update_cursor"' -bind -m vi-command '":": "\C-o update_cursor"' - -########################################################################################### -########################################################################################### -### --- DISTRIBUTION --- ### -# Show the current distribution -distribution() { - local dtype - # Assume unknown - dtype="unknown" - - # First test against Fedora / RHEL / CentOS / generic Redhat derivative - if [ -r /etc/rc.d/init.d/functions ]; then - source /etc/rc.d/init.d/functions - [ zz$(type -t passed 2>/dev/null) == "zzfunction" ] && dtype="redhat" - - # Then test against SUSE (must be after Redhat, - # I've seen rc.status on Ubuntu I think? TODO: Recheck that) - elif [ -r /etc/rc.status ]; then - source /etc/rc.status - [ zz$(type -t rc_reset 2>/dev/null) == "zzfunction" ] && dtype="suse" - - # Then test against Debian, Ubuntu and friends - elif [ -r /lib/lsb/init-functions ]; then - source /lib/lsb/init-functions - [ zz$(type -t log_begin_msg 2>/dev/null) == "zzfunction" ] && dtype="debian" - - # Then test against Gentoo - elif [ -r /etc/init.d/functions.sh ]; then - source /etc/init.d/functions.sh - [ zz$(type -t ebegin 2>/dev/null) == "zzfunction" ] && dtype="gentoo" - - # For Mandriva we currently just test if /etc/mandriva-release exists - # and isn't empty (TODO: Find a better way :) - elif [ -s /etc/mandriva-release ]; then - dtype="mandriva" - - # For Slackware we currently just test if /etc/slackware-version exists - elif [ -s /etc/slackware-version ]; then - dtype="slackware" - - fi - echo $dtype -} - -# Show the current version of the operating system -ver() { - local dtype - dtype=$(distribution) - - if [ $dtype == "redhat" ]; then - if [ -s /etc/redhat-release ]; then - cat /etc/redhat-release && uname -a - else - cat /etc/issue && uname -a - fi - elif [ $dtype == "suse" ]; then - cat /etc/SuSE-release - elif [ $dtype == "debian" ]; then - lsb_release -a - # sudo cat /etc/issue && sudo cat /etc/issue.net && sudo cat /etc/lsb_release && sudo cat /etc/os-release # Linux Mint option 2 - elif [ $dtype == "gentoo" ]; then - cat /etc/gentoo-release - elif [ $dtype == "mandriva" ]; then - cat /etc/mandriva-release - elif [ $dtype == "slackware" ]; then - cat /etc/slackware-version - else - if [ -s /etc/issue ]; then - cat /etc/issue - else - echo "Error: Unknown distribution" - exit 1 - fi - fi -} - -########################################################################################### -########################################################################################### -### --- EDIT --- ### -edit() { - if [ "$(type -t jpico)" = "file" ]; then - # Use JOE text editor http://joe-editor.sourceforge.net/ - jpico -nonotice -linums -nobackups "$@" - elif [ "$(type -t nano)" = "file" ]; then - nano -c "$@" - elif [ "$(type -t pico)" = "file" ]; then - pico "$@" - else - vim "$@" - fi -} - -sedit() { - if [ "$(type -t jpico)" = "file" ]; then - # Use JOE text editor http://joe-editor.sourceforge.net/ - sudo jpico -nonotice -linums -nobackups "$@" - elif [ "$(type -t nano)" = "file" ]; then - sudo nano -c "$@" - elif [ "$(type -t pico)" = "file" ]; then - sudo pico "$@" - else - sudo vim "$@" - fi -} - -########################################################################################### -########################################################################################### -### --- EXTRACT --- ### -extract() { - for archive in $*; do - if [ -f $archive ]; then - case $archive in - *.tar.bz2) tar xvjf $archive ;; - *.tar.gz) tar xvzf $archive ;; - *.bz2) bunzip2 $archive ;; - *.rar) rar x $archive ;; - *.gz) gunzip $archive ;; - *.tar) tar xvf $archive ;; - *.tbz2) tar xvjf $archive ;; - *.tgz) tar xvzf $archive ;; - *.zip) unzip $archive ;; - *.Z) uncompress $archive ;; - *.7z) 7z x $archive ;; - *) echo "don't know how to extract '$archive'..." ;; - esac - else - echo "'$archive' is not a valid file!" - fi - done -} - -########################################################################################### -########################################################################################### -### --- NETWORK --- ### -# Show current network information -netinfo() { - echo "--------------- Network Information ---------------" - /sbin/ifconfig | awk /'inet addr/ {print $2}' - echo "" - /sbin/ifconfig | awk /'Bcast/ {print $3}' - echo "" - /sbin/ifconfig | awk /'inet addr/ {print $4}' - - /sbin/ifconfig | awk /'HWaddr/ {print $4,$5}' - echo "---------------------------------------------------" -} - -# IP address lookup -alias whatismyip="whatsmyip" -function whatsmyip() { - # Dumps a list of all IP addresses for every device - # /sbin/ifconfig |grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'; - - # Internal IP Lookup - echo -n "Internal IP: " - /sbin/ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}' - - # External IP Lookup - echo -n "External IP: " - wget http://smart-ip.net/myip -O - -q -} - -########################################################################################### -########################################################################################### -### --- PASS --- ### -pass_otp() { pass otp uri -q "$1"; } -pass_otp_insert() { pass otp insert "$1"; } - -alias cpqr=pass_qr -pass_qr() { qrencode -o "$1.png" -t png -Sv 40 <"$1.pgp"; } - -########################################################################################### -########################################################################################### -### --- PHP --- ### -# Edit the PHP configuration file -phpconfig() { - if [ -f /etc/php.ini ]; then - sedit /etc/php.ini - elif [ -f /etc/php/php.ini ]; then - sedit /etc/php/php.ini - elif [ -f /etc/php5/php.ini ]; then - sedit /etc/php5/php.ini - elif [ -f /usr/bin/php5/bin/php.ini ]; then - sedit /usr/bin/php5/bin/php.ini - elif [ -f /etc/php5/apache2/php.ini ]; then - sedit /etc/php5/apache2/php.ini - else - echo "Error: php.ini file could not be found." - echo "Searching for possible locations:" - sudo updatedb && locate php.ini - fi -} - -########################################################################################### -########################################################################################### -### --- SEARCH --- ### -ftext() { - # -i case-insensitive - # -I ignore binary files - # -H causes filename to be printed - # -r recursive search - # -n causes line number to be printed - # optional: -F treat search term as a literal, not a regular expression - # optional: -l only print filenames and not the matching lines ex. grep -irl "$1" * - grep -iIHrn --color=always "$1" . | less -r -} - -########################################################################################### -########################################################################################### -### --- SQL --- ### -# Edit the MySQL configuration file -mysqlconfig() { - if [ -f /etc/my.cnf ]; then - sedit /etc/my.cnf - elif [ -f /etc/mysql/my.cnf ]; then - sedit /etc/mysql/my.cnf - elif [ -f /usr/local/etc/my.cnf ]; then - sedit /usr/local/etc/my.cnf - elif [ -f /usr/bin/mysql/my.cnf ]; then - sedit /usr/bin/mysql/my.cnf - elif [ -f ~/my.cnf ]; then - sedit ~/my.cnf - elif [ -f ~/.my.cnf ]; then - sedit ~/.my.cnf - else - echo "Error: my.cnf file could not be found." - echo "Searching for possible locations:" - sudo updatedb && locate my.cnf - fi -} - -########################################################################################### -########################################################################################### -### --- STOW --- ### -alias dstw=dotfiles_stw -dotfiles_stw() { - "${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}/$(whereami)/.local/bin/stw" -} - -########################################################################################### -########################################################################################### -### --- SUDO --- ### -pre_cmd() { - local prepend_command="$1" - local buffer="${READLINE_LINE:-}" - - if [ -z "$buffer" ]; then - buffer=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//') - fi - - READLINE_LINE="$prepend_command $buffer" - READLINE_POINT=${#READLINE_LINE} -} -bind -x '"\es":pre_cmd sudo' - -########################################################################################### -########################################################################################### -### --- TRIM --- ### -trim() { - local var=$@ - var='${var#"${var%%[![:space:]]*}"}' # remove leading whitespace characters - var='${var%"${var##*[![:space:]]}"}' # remove trailing whitespace characters - echo -n "$var" -} |
