Netcfg2 with bash-completion

I've written a script to support bash completion for netcfg2.
Here it is:
http://fatcat.ftj.agh.edu.pl/~sitarzm/A … on/netcfg2
Just download it and place it in /etc/bash_completion.d, log out and login again and give it a try.

MAC!EK wrote:
Since the script was quite old I replaced it with a new version on that site:
http://fatcat.ftj.agh.edu.pl/~sitarzm/A … ion/netcfg
or
http://fatcat.ftj.agh.edu.pl/~sitarzm/A … on/netcfg2
uastasi if you want the completion to work with 'n' command add a line at the end:
complete -F _netcfg n
Awesome, thank you :)

Similar Messages

  • Problems with Bash Completion

    Hi,
    I recently noticed an odd new behavior of the bash-completion package.
    For example:
    Lets say there is folder called 'Downloads'. The oldd behavior was:
    mv Dow[tab]
    mv Downloads/
    Now, it's like this:
    mv Dow[tab]
    mv Downloads
    (with a space after 'Downloads')
    It's annoying because, you can't get an ls output when pressing tab again.
    Another example: Let's assume there is a file called 'some file.txt'
    Old:
    mv some[tab]
    mv some\ file.txt
    New:
    mv some[tab]
    mv some file.txt
    Pretty annoying too. mv doesn't work anymore because of the space in the filepath.
    Does anyone know how to fix this?

    https://bbs.archlinux.org/viewtopic.php?id=113158

  • Problem with ssh and bash-completion

    I and a co-worker are having a weird problem with ssh and bash-completion. We have a local config in .ssh/config with hosts we connect everyday. An example:
    host foo
    hostname foo.org
    user foobar
    host foobar
    hostname foobar.org
    user foobar
    When we try to type
    ssh foo<tab><tab>b<tab>
    the console just freeze and we can't type anything, everything we type is ignored, but after about 30 seconds the host is completed.
    This works a some time ago, so some upgrade make this happen. Anyone can reproduce this?

    quigybo wrote:
    Actually thinking about it, rather than using the semi-dodgy fix posted on the bug tracker, we can just test if the daemon is running since we are not on MacOS X. It is cleaner and 250 ms quicker.
    --- bash_completion.orig 2010-09-14 05:33:22.000000000 +0930
    +++ bash_completion 2010-09-14 05:45:04.000000000 +0930
    @@ -1316,10 +1316,12 @@
    # contains ";", it may mistify the result. But on Gentoo (at least),
    # -k isn't available (even if mentioned in the manpage), so...
    if type avahi-browse >&/dev/null; then
    - COMPREPLY=( "${COMPREPLY[@]}" $( \
    - compgen -P "$prefix$user" -S "$suffix" -W \
    - "$( avahi-browse -cpr _workstation._tcp 2>/dev/null | \
    - awk -F';' '/^=/ { print $7 }' | sort -u )" -- "$cur" ) )
    + if [ -n "$(pidof avahi-daemon)" ]; then
    + COMPREPLY=( "${COMPREPLY[@]}" $( \
    + compgen -P "$prefix$user" -S "$suffix" -W \
    + "$( avahi-browse -cpr _workstation._tcp 2>/dev/null | \
    + awk -F';' '/^=/ { print $7 }' | sort -u )" -- "$cur" ) )
    + fi
    fi
    # Add results of normal hostname completion, unless
    This is the same test as was used in bash-completion 1.1.
    Thanks  quigybo, I use your patch, the issue is gone
    Why does so many packages depends on Avahi? Maybe make it optdepends is
    enough?
    my laptop $ pacman -Qi avahi
    Required By : gnome-disk-utility gnome-vfs libcups mpd sane

  • Bash-completion upgrade conflicts with pacman

    pacman warned me that /usr/share/bash-completion/completions/makepkg would be overwritten.
    pacman -Oo said then that it's part of bash-completion 1.99-1, but there's already bash-completion 1.99-2 that hasn't any more included that file cause now as it seems, the file move into the new pacman package.
    https://projects.archlinux.org/svntogit … 50dbc12ba0
    So following process to not corrupt anything:
    1) Move the file out of the way:
    # mv /usr/share/bash-completion/completions/makepkg /usr/share/bash-completion/completions/makepkg.bak
    2) Upgrade pacman
    # pacman -S pacman
    3) Upgrade bash-completion (this step will remove the file)
    # pacman -S bash-completion
    4) Reinstall pacman again, to not loose the file.
    # pacman -S pacman
    5) Now, you can remove the backup.
    # rm -f /usr/share/bash-completion/completions/makepkg.bak

    toofishes wrote:
    defcon wrote:
    i've seen that pacman 3.1 has it's own bash completion file
    i installed the new pacman, but bash_completion doesnt work....
    Did you source it or logout/login? It doesn't magically do that itself.
    . /etc/bash_completion
    both, i reload it with source ~/.bashrc  and later i logged out/in

  • Bash-completion works only with X

    Hi,
    For a long time bash-completion has not been working for me in VC. This didn't change with numerous upgrades, so I think this must be due to some my local setting. In VC it doesn't work for any user and in X it works for all users, so it is most probably something system-wide that is causing this. I never touched any files owned by bash-completion package. I browsed through /etc/profile and /etc/profile.d/ but didn't find anything weird.
    Any clues where to fix this?
    Thanks!

    I've always had the same problem as the OP, just never got round to posting about it. A solution would make my systemctl aliases much more useful.
    @Trilby, you need the bash-completion package installed.
    Last edited by slithery (2015-01-06 21:50:34)

  • Bash-completion with pacman [split]

    lessthanjake wrote:Install extra/bash-completion and you get bashcompletion for pacman -S.
    How does it work? i have installed it but pacman -S gnome-pane does not give gnome-panel

    _Gandalf_ wrote:I know why now, Actually i'm trying to do as regular user, as root it works fine, i can't do it even with prefixing it with sudo since the auto completion has not entered the sudo envirement yet (no Enter pressed)
    Well on my desktop I don't need to be root (and I don't see the point to be root if you are just looking for a package with -Ss)
    Edit: The update of bash-completion seemed to fix everything

  • [SOLVED] Slight issue concerning pacman & bash completion

    Hi all,
    I've come across a small issue when using the -Rs option with pacman.
    The auto completion doesn't appear to be working for the first package name passed after the -Rs option.
    For example, when issuing the command
    pacman -Rs firefox
    and pressing tab twice, it will not show any options or auto-complete. However, if I add another package to be removed:
    pacman -Rs firefox chr
    and hit the tab key twice, autocomplete will work, and it'll autocomplete to chromium.
    Bash-completion (2.0-3) is installed, and the rest of the system is up to date. Am I missing something here, or have I stumbled upon a bug?

    I don't know so much about it, but I'm under the impression that bash-completion for pacman (once enabled in ~/.bashrc by adding "complete -cf pacman") works by default by checking the user's PATH variable, i.e. it will offer to complete pacman commands with the name of any executable in the user's PATH's () as well as the contents of the current directory. ... which means: if firefox isn't installed, it won't find it; if it is, it will offer this completion; if there's a file called firefox in the current directory, it will also offer it.
    but as I said, I'm not an expert on bash-completion

  • Bash completion of alias

    I have the following lines in my .bashrc:
    alias y='yaourt'
    alias yq='y -Q'
    complete -o filenames -F _yaourt y
    This allows me to do bash completion with just 'y -Q' or 'y' followed by any argument. However, I'm trying to get completion to work when I type in 'yq'. I was wondering if there was a way to send the argument '-Q' to the yaourt completion? Or would I need to write a separate wrapper function?

    Yes, but it doesn't work. The problem is that yaourt by itself has no tab completion. It requires arguments so that it knows what type of completion it is: ie. installed vs not installed programs. I would prefer to get it to work in bash, but if not, I'll take a look at zsh.

  • Bash completion upgrade breaks pacman bc

    hello,
    today's bash completion upgrade deletes the archlinux file under /etc/bash_completion.d/.
    pacman's bash completion doesn't work anymore. i've seen that pacman 3.1 has it's own bash completion file.
    is this somehow related?
    vlad
    ps: i'm not using testing.
    Last edited by DonVla (2008-01-10 17:50:15)

    toofishes wrote:
    defcon wrote:
    i've seen that pacman 3.1 has it's own bash completion file
    i installed the new pacman, but bash_completion doesnt work....
    Did you source it or logout/login? It doesn't magically do that itself.
    . /etc/bash_completion
    both, i reload it with source ~/.bashrc  and later i logged out/in

  • BASH completion problem

    i have "bash-completion" package installed but when i do this:
    $ xine
    and press TAB, it does not show me list of files. sometimes it shows the files but most of the times it does not. same with all others commands:
    $ rm -v
    here too it does not show any files, as i said sometimes it does but most of the times it does not. if i do
    $ cd
    and press TAB then it always shows the directories,. never fails with directories but not the same with files.
    what could be the problem ? i have no problems like this with ZSH.

    prim wrote:You have to run bash as a login shell.
    See http://bbs.archlinux.org/viewtopic.php?id=30205
    well i used "chsh" to change my login shell to BASH and when i tried to this script:
    if [[ -o login ]]; then
        echo "Welcomoe to BASH as login shell"
    else
        echo "NOPE..... NOPE.... NOPE..NOPE"
    fi
    i always get "NOPE...NOPE...."
    i use "rxvt-unicode" and my "~/.Xdefaults" file says this: 
    ! rxvt-unicode settings                                                                                                     
    urxvt*loginShell:               true                                                                                         
    urxvt*saveLines:               10000           
    i still do not undertsand my the tab-completion system doe snot work and why BASH is still not the login shell

  • Bash-completion issues after bash upgrade

    Hi.
    Is it only me or bash-completion stopped working after bash upgrade (3.2.017-2 -> 3.2.025-1)?
    I also had to remove ". /etc/profile" from all existing .bashrc files to have it properly interpreting /etc/profile and /etc/profile.d/* files,
    which was fine with previous bash version. Probably that line was not needed anyway, but for sure the behavior of bash has changed.
    And bash-completion doesn't work anymore at all.
    bash-completion looks like it has been updated too, but it still doesn't work properly.
    I have: core/bash-3.2.025-1 and extra/bash-completion-20060301-7.
    "Not working properly" means that when I press the tab it does just a normal completion. Without respecting the type of a command for which I am completing the argument.
    It used to complete only media files for 'mplayer', only directory names for 'cd' etc. And now it tries to complete every file present in the directory.
    Hmm... I guess that '. /etc/profile' line was needed after all. When I re-added it it started working again. Though /etc/skel/.bashrc file does not have this line.
    When I use the skeleton version of .bashrc, bash-completion doesn't work.
    Last edited by tanis (2007-09-20 16:34:47)

    http://bugs.archlinux.org/task/8060

  • Watch for joystick unplug/re-plug with BASH

    I'm having a little trouble with what I think should be a very simple BASH script. It could be a logic error, but I really don't know.
    First, here is the problem I am trying to solve:
    On this particular PC, I am using Boxee as the main interface with openbox-session. I currently do not have a suitable wireless input to control this, so I have a basic 6-button Microsoft Sidewinder gamepad plugged in. I'm using rejoystick to map the buttons to the proper keys to control Boxee (and also the volume via xbindkeys). However, if the gamepad ever gets unplugged, and I plug it back in, the bindings no longer work. To get them working again, I have to sigkill rejoystick (for some reason, sigterm doesn't do it), and re-execute "rejoystick -d".
    This script seems to work when I run it in a console. To test it, I have "rejoystick -d" running, I unplug the gamepad, and I plug it back in, and the button mappings are working.
    However, when I let the script run in the background for a few minutes, and I perform the same test, the button mappings do not work.
    ~/.scripts/rejoystick.sh
    #!/bin/sh
    if ls /dev/input/js0 # run an initial check to see if js0 is plugged in and set the PLUGGED variable
    then
    PLUGGED=true
    else
    PLUGGED=false
    fi
    while true
    do
    sleep 2
    if ls /dev/input/js0
    then
    if $PLUGGED # this is more like, if it was plugged in during the previous cycle of the loop
    then
    PLUGGED=true
    else
    killall --signal 9 rejoystick & sleep 2 && rejoystick -d
    PLUGGED=true
    fi
    else
    PLUGGED=false
    fi
    done
    Notice that "killall --signal 9 rejoystick & sleep 2 && rejoystick -d" only gets ran once the joystick has been unplugged and gets plugged back in
    Here are the last few lines of my ~/.config/openbox/autostart.sh:
    ~/.scripts/display.sh & # this script is a simple "xset -dmps"
    xfce4-volumed & # for volume change notification
    xbindkeys & # I have F7 and F8 bound to "amixer -c 0 set Master 1-" and "amixer -c 0 set Master 1+"
    ~/.fehbg &
    ~/.scripts/rejoystick.sh & # described above
    ~/.scripts/boxee.sh & disown # simple script to re-open Boxee if someone exits or crashes it
    So maybe there's something wrong with the script, or the way I'm running it in the background, or maybe there's just another way to solve the problem... I must be doing something wrong.
    Thanks in advance.
    Last edited by drelyn86 (2011-01-31 17:35:05)

    Thanks Smokerz,
    Your links tell me that at least we know we are probably looking in the right direction. Apple's documentation for Mirror Doors (the very last G4 built before the G5s rolled out) is poor. The PMU was nowhere even close to any of the diagrams and it was actually labeled "PMU" when we decided to look anywhere on the motherboard.
    Still this G4 won't boot (unless I unplug and replug) even with a completely new hard drive. I ran the tech tools diagnostic I got from AppleCare when I first purchased the box. I have a 4:00 (PST) at an Apple store today.
    I've been planning and very close to purchasing a Mac Book Pro 17" system. Perhaps this G4 doesn't like the thought of being replaced. It happened with my last system.
    Anyway I hope they can fix this computer. But my theory stands, Leopard fried my G4 system. Thanks for your suggestions.

  • [Workaround] Weird vim bash completion behaviour

    Currently running bash-completion 1.2-2. Vim does not seems to auto-complete files when I am in the root of my home directory(i.e. just '~' and no subdirectories); only sub-directories are given as possible options. Resourcing /etc/bash_completion does not have any effect. Other current working directories work fine. Running this line from /etc/bash_completion does seem to fix it:
    complete -f -X '*.@(o|so|so.!(conf)|a|rpm|gif|GIF|jp?(e)g|JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' vi vim gvim rvim view rview rgvim rgview gview emacs xemacs sxemacs kate kwrite
    Resourcing /etc/bash_completion breaks it again, really weird.
    I have no idea what's going on. Maybe bash-completion has trouble with the '~' character somehow?
    EDIT: only the root of the user's home directory is affected (i.e. just '~' and no subdirectories)
    Last edited by OutOfPhase (2011-03-24 16:02:41)

    Seems that some completion rules are being deleted in the lines 1632-1653 in /etc/bash_completion, which is the very file that adds the completion rules in the first place(!) This hardly makes any sense. Somewhere in that block things go wrong.
    Commenting crucial lines from this block, for example line 1644, fixes it.

  • [SOLVED] tmux bash completion

    Hey,
    Looking through internet, I didn't find any solution. I want to be able to hit Tab on a terminal to complete my commands, like I do a million times a day.
    Except it doesn't work on tmux, Tab just does nothing at all.
    Here is my tmux.conf :
    #Make zsh default shell to use
    # set-option -g default-shell /bin/zsh
    # use UTF8
    set -g utf8
    set-window-option -g utf8 on
    # make tmux display things in 256 colors
    set -g default-terminal "screen-256color"
    # set scrollback history
    set -g history-limit 3000
    # shorten command delay
    set -sg escape-time 1
    # set window and pane index to 1 (0 by default)
    set-option -g base-index 1
    setw -g pane-base-index 1
    # reload ~/.tmux.conf
    bind -n C-q source-file ~/.tmux.conf \; display "Reloaded!"
    # Select and open URL
    bind -n C-u run tmux-url-select
    unbind-key Tab
    # split window horizontally and vertically
    bind -n C-v split-window -h
    bind -n C-h split-window -v
    # Make the current window the first window
    bind -n C-T swap-window -t 1
    # map Vi movement keys as pane movement keys
    bind -n C-Left select-pane -L
    bind -n C-Down select-pane -D
    bind -n C-Up select-pane -U
    bind -n C-Right select-pane -R
    # and use C-h and C-l to cycle thru panes
    bind -n C-o select-window -t :-
    bind -n C-i select-window -t :+
    # resize panes using PREFIX H, J, K, L
    bind -n C-N resize-pane -L 5
    bind -n C-J resize-pane -D 5
    bind -n C-K resize-pane -U 5
    bind -n C-L resize-pane -R 5
    # explicitly disable mouse control
    setw -g mode-mouse off
    set -g mouse-select-pane on
    set -g mouse-resize-pane on
    set -g mouse-select-window on
    # Copy & Paste
    # provide access to the clipboard for pbpaste, pbcopy
    #set-option -g default-command "reattach-to-user-namespace -l zsh"
    set-window-option -g automatic-rename on
    # use vim keybindings in copy mode
    setw -g mode-keys vi
    # setup 'v' to begin selection as in Vim
    bind-key -t vi-copy v begin-selection
    bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
    # update default binding of 'Enter' to also use copy-pipe
    unbind -t vi-copy Enter
    bind-key -t vi-copy Enter copy-pipe "reattach-to-user-namespace pbcopy"
    bind y run 'tmux save-buffer - | reattach-to-user-namespace pbcopy '
    bind C-y run 'tmux save-buffer - | reattach-to-user-namespace pbcopy '
    # set some pretty colors
    #set pane colors - hilight the active pane
    set-option -g pane-border-fg colour235 #base02
    set-option -g pane-active-border-fg red #base01
    # colorize messages in the command line
    set-option -g message-bg black #base02
    set-option -g message-fg brightred #orange
    # Status Bar
    set-option -g status off # turn the status bar on
    set -g status-utf8 on # set utf-8 for the status bar
    set -g status-interval 5 # set update frequencey (default 15 seconds)
    set -g status-justify centre # center window list for clarity
    # set-option -g status-position top # position the status bar at top of screen
    # visual notification of activity in other windows
    setw -g monitor-activity off
    set -g visual-activity off
    # set color for status bar
    set-option -g status-bg colour0
    set-option -g status-fg yellow #yellow
    set-option -g status-attr dim
    # set window list colors - red for active and cyan for inactive
    set-window-option -g window-status-fg brightblue #base0
    set-window-option -g window-status-bg colour0
    #set-window-option -g window-status-attr dim
    set-window-option -g window-status-current-fg red #orange
    set-window-option -g window-status-current-bg colour235
    set-window-option -g window-status-current-attr bright
    # show session name, window & pane number, date and time on right side of
    # status bar
    #set -g status-right-length 60
    #set -g status-right "#[fg=blue]#S #I:#P #[fg=yellow]:: %d %b %Y #[fg=green]:: %l:%M %p :: #(date -u | awk '{print $4}')::"
    Anyone with a solution ?
    Thanks !
    Last edited by Kolibry (2014-10-19 20:56:04)

    I restarted the server. I also tried to skip "set -sg escape-time 1". My current shell is bash, and I can't tell you what progress I've made because I haven't made any
    EDIT : I didn't understand "rc files", I just get it now. Here is my bashrc :
    export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
    export EDITOR=vim
    export LIBVA_DRIVER_NAME=vdpau
    export VDPAU_DRIVER=r600
    export PATH=$PATH:/home/kolibry/Scripts
    source tmux-completion.sh
    source tmux-bash-completion.sh
    ansiblocks
    bind 'set completion-ignore-case on'
    if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi
    xhost +local:root > /dev/null 2>&1
    complete -cf sudo
    shopt -s cdspell
    shopt -s checkwinsize
    shopt -s cmdhist
    shopt -s dotglob
    shopt -s expand_aliases
    shopt -s extglob
    shopt -s histappend
    shopt -s hostcomplete
    shopt -s nocaseglob
    export HISTSIZE=10000
    export HISTFILESIZE=${HISTSIZE}
    export HISTCONTROL=ignoreboth
    alias ls='ls --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
    alias ll='ls -l --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
    alias la='ls -la --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
    alias grep='grep --color=tty -d skip'
    alias cp="cp -i" # confirm before overwriting something
    alias df='df -h' # human-readable sizes
    alias free='free -m' # show sizes in MB
    alias np='vim PKGBUILD'
    alias starwars="telnet towel.blinkenlights.nl"
    alias inxi="inxi -Fxzc2"
    alias weechat="weechat-curses"
    alias news='newsbeuter'
    alias zik="mpd && ncmpcpp"
    alias version="lsb_release -si -sr -sc"
    alias fdisk="sudo fdisk -l"
    alias formater="sudo mkfs.vfat -F 32"
    ### Dropbox ###
    #alias ./dropbox_uploader.sh upload="upload dropbox"
    #alias ./dropbox_uploader.sh download="download dropbox"
    conf() {
    case $1 in
    bspwm) vim ~/.config/bspwm/bspwmrc ;;
    sxhkd) vim ~/.config/sxhkd/sxhkdrc ;;
    conky) vim ~/.conkyrc ;;
    menu) vim ~/.config/openbox/menu.xml ;;
    mpd) vim ~/.mpd/mpd.conf ;;
    mutt) vim ~/.mutt/muttrc ;;
    ncmpcpp) vim ~/.ncmpcpp/config ;;
    moc) sudo vim /home/kolibry/.moc/config ;;
    moctheme) sudo vim /home/kolibry/.moc/themes/kolibry_theme ;;
    weechat) vim ~/.weechat/weechat.conf ;;
    pacman) sudo vim /etc/pacman.conf ;;
    mirrorlist) vim /etc/pacman/mirrorlist ;;
    termite) vim ~/.config/termite/config ;;
    ranger) vim ~/.config/ranger/rc.conf ;;
    rifle) vim ~/.config/ranger/rifle.conf ;;
    tmux) vim ~/.tmux.conf ;;
    vim) vim ~/.vimrc ;;
    compton) vim ~/.config/compton.conf ;;
    xinit) vim ~/.xinitrc ;;
    xresources) vim ~/.Xresources && xrdb ~/.Xresources ;;
    zathura) vim ~/.config/zathura/zathurarc ;;
    tint2) vim ~/.config/tint2/tint2rc ;;
    bashrc) vim ~/.bashrc && source ~/.bashrc ;;
    dwb) vim ~/.config/dwb/default/quickmarks ;;
    grub) sudo vim /etc/default/grub.cfg ;;
    mupen64plus) vim ~/.config/mupen64plus/mupen64plus.cfg ;;
    dunst) vim ~/.config/dunst/dunstrc ;;
    *) echo "Unknown application: $1" ;;
    esac
    function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; }
    function cdl () { cd "$@" && ls; }
    alias dpi="xdpyinfo | grep resolution"
    alias mocp="mocp -T kolibry_theme"
    ### Gestion du système ###
    # Créer une liste des paquets installés :
    alias pkglist='comm -23 <(pacman -Qeq|sort) <(pacman -Qmq|sort) > pkglist'
    # Créer une liste des paquets AUR installés :
    alias pkglist-aur='pacman -Qqm > pkglist-aur'
    # Restaurer la liste des paquets :
    alias installpkglist='yaourt -S $(< pkglist)'
    # Mise à jour des miroirs et mettre à jour le système :
    alias update='sudo pacman-mirrors -g && sudo pacman -Syu'
    #Mettre à jour le système :
    alias maj='sudo pacman -Syu'
    # Installer un paquet :
    alias installer='sudo pacman -S'
    # Effacer un paquet :
    alias supprimer='sudo pacman -R'
    # Paquets orphelins :
    alias orphans='sudo pacman -Qdt'
    # Infos paquet :
    alias info='sudo pacman -Si'
    # Rafraichissement de la liste des paquets:
    alias refresh='sudo pacman -Syy'
    # cacheclean -v 2 ,deletes all but the last 2 versions of installed packages the pacman cache:
    alias c-c='sudo cacheclean -v 2'
    # yaourt -Syu by typing yaur :
    alias majaur='yaourt -Syu --aur'
    # yaourt -S by typing yS :
    alias install='yaourt -S'
    # yaourt -Rsn , which fully deletes packages - see above :
    alias remove='yaourt -Rsn'
    # Date dernière maj
    alias lastup='echo -e "\e[1;31mLast Upgraded:\e[0m " ; sort /var/log/pacman.log | tail -n 50 | grep upgraded | cut -c 1-18 | uniq -d'
    #Détails dernière maj
    alias lastupd='echo -e "\e[1;31mLast upgraded:\e[0m " ; cat /var/log/pacman.log | grep upgraded | tail -n 40'
    # Recharger URxvt config
    alias x='xrdb .Xresources'
    # Convertir vidéo youtube en fichier audio
    alias ogg='youtube-dl -x --audio-format vorbis --audio-quality 0'
    # mpv en couleurs
    alias mpv='mpv --msg-module'
    # Nettoyer le terminal
    alias c='clear'
    #Restaurer tmux
    alias res='sh /home/kolibry/Scripts/restoretmux'
    # Eteindre le PC
    alias stop='shutdown now'
    # Ecran externe
    alias externe='xrandr --output VGA-0 --mode 1600x900 --output LVDS --off'
    # Ecran interne
    alias interne='xrandr --output LVDS --mode 1366x768 --output VGA-0 --off'
    # Touchpad
    alias touchpadon='synclient TouchpadOff=0'
    alias touchpadoff='synclient TouchpadOff=1'
    # Test scroll rapidité terminal
    alias testterminal='for i in {0..9999}; do echo -n "------$i-"; done'
    ##fun&entertaining
    alias insults='wget http://www.randominsults.net -O - 2>/dev/null | grep \<strong\> | sed "s;^.*<i>\(.*\)</i>.*$;\1;";'
    alias matrix='echo -e "\e[32m"; while :; do for i in {1..16}; do r="$(($RANDOM % 2))"; if [[ $(($RANDOM % 5)) == 1 ]]; then if [[ $(($RANDOM % 4)) == 1 ]]; then v+="\e[1m $r "; else v+="\e[2m $r "; fi; else v+=" "; fi; done; echo -e "$v"; v=""; done'
    alias matrix2='echo -e "\e[31m"; while $t; do for i in `seq 1 30`;do r="$[($RANDOM % 2)]";h="$[($RANDOM % 4)]";if [ $h -eq 1 ]; then v="\e[1m $r";else v="\e[2m $r";fi;v2="$v2 $v";done;echo -e $v2;v2="";done;'
    alias matrix3='COL=$(( $(tput cols) / 2 )); clear; tput setaf 2; while :; do tput cup $((RANDOM%COL)) $((RANDOM%COL)); printf "%$((RANDOM%COL))s" $((RANDOM%2)); done'
    alias matrix4='echo -ne "\e[32m" ; while true ; do echo -ne "\e[$(($RANDOM % 2 + 1))m" ; tr -c "[:print:]" " " < /dev/urandom | dd count=1 bs=50 2> /dev/null ; done'
    alias matrix5='tr -c "[:digit:]" " " < /dev/urandom | dd cbs=$COLUMNS conv=lcase,unblock | GREP_COLOR="1;32" grep --color "[^ ]"'
    alias colorrainbow='yes "$(seq 1 255)" | while read i; do printf "\x1b[48;5;${i}m\n"; sleep .01; done'
    alias roulette='[ $[ $RANDOM % 6 ] == 0 ] && echo Die || echo Live' # command line Russian roulette
    alias einsteiny='A=1;B=100;X=0;C=0;N=$[$RANDOM%$B+1];until [ $X -eq $N ];do read -p "N between $A and $B. Guess? " X;C=$(($C+1));A=$(($X<$N?$X:$A));B=$(($X>$N?$X:$B));done;echo "Took you $C tries, Einstein";' # numbers guessing game
    alias etchasketch='c=12322123;x=20;y=20;while read -sn1 p;do k=${c:(p-1)*2:2};let x+=$((k/10-2));let y+=$((k%10-2));echo -en \\033[$y\;"$x"HX;done' # use the 1 2 3 and 4 keys to move the cursor around the screen (It's an etch-a-sketch for your terminal!)
    alias excuses='echo `telnet bofh.jeffballard.us 666 2>/dev/null` |grep --color -o "Your excuse is:.*$"' # excuses
    alias freechess='telnet fics.freechess.org 5000' # connects to a telnet server for free internet chess
    alias funfacts='wget http://www.randomfunfacts.com -O - 2>/dev/null | grep \<strong\> | sed "s;^.*<i>\(.*\)</i>.*$;\1;";'
    alias 99bottles='x="bottles of beer";y="on the wall";for b in {99..1};do echo "$b $x $y, $b $x. Take one down pass it around, $(($b-1)) $x $y"; sleep 3;done'
    alias addictive='count="1" ; while true ; do read next ; if [[ "$next" = "$last" ]] ; then count=$(($count+1)) ; echo "$count" ; else count="1" ; echo $count ; fi ; last="$next" ; done' # simple addicting bash game
    alias busy='for i in `seq 0 100`;do timeout 6 dialog --gauge "Install..." 6 40 "$i";done' # pretend to be busy in office to enjoy a cup of coffee
    alias busy2='my_file=$(find /usr/include -type f | sort -R | head -n 1); my_len=$(wc -l $my_file | awk "{print $1}"); let "r = $RANDOM % $my_len" 2>/dev/null; vim +$r $my_file'
    alias busy3='cat /dev/urandom | hexdump -C | highlight ca fe 3d 42 e1 b3 ae f8 | perl -MTime::HiRes -pnE "Time::HiRes::usleep(rand()*1000000)"'
    ### Fonction scrot + upload ###
    imgur-upl() {
    curl -s -F image=@"$1" -F "key=1913b4ac473c692372d108209958fd15" \
    http://api.imgur.com/2/upload.xml | grep -Eo "<original>(.)*</original>" \
    | grep -Eo "http://i.imgur.com/[^<]*"
    # Back up file
    bu() {
    cp -a "$1" "$1.$(date +%d.%m.%y-%H:%M)"
    # ex - archive extractor
    # usage: ex <file>
    ex ()
    if [ -f $1 ] ; then
    case $1 in
    *.tar.bz2) tar xjf $1 ;;
    *.tar.gz) tar xzf $1 ;;
    *.bz2) bunzip2 $1 ;;
    *.rar) unrar x $1 ;;
    *.gz) gunzip $1 ;;
    *.tar) tar xf $1 ;;
    *.tbz2) tar xjf $1 ;;
    *.tgz) tar xzf $1 ;;
    *.zip) unzip $1 ;;
    *.Z) uncompress $1;;
    *.7z) 7z x $1 ;;
    *) echo "'$1' cannot be extracted via ex()" ;;
    esac
    else
    echo "'$1' is not a valid file"
    fi
    ##### Couleurs prompt ####
    #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
    #Gray \e[0;37m
    #Dark Gray \e[1;30m
    #Light Blue \e[1;34m
    #Light Green \e[1;32m
    #Light Cyan \e[1;36m
    #Light Red \e[1;31m
    #Light Purple \e[1;35m
    #Yellow \e[1;33m
    #White \e[1;37m
    #NC='\e[0m' # No Color
    # background colors
    #RED='\e[41m'
    #BLUE='\e[44m'
    #CYAN='\e[46m'
    #GREEN='\e[42m'
    #YELLOW='\e[43m'
    # prompt
    #PS1="\[\e[0;33m\]┌─[\[\e[1;31m\u\e[0;33m\]]──[\[\e[0;34m\]${HOSTNAME%%.*}\[\e[0;33m\]]\[\e[0;32m\]:\w$\[\e[0;33m\]\n\[\e[0;33m\]└──\[\e[0;33m\]>>\[\e[0m\]"
    #prompt essai
    PS1="\[\e[0;34m\]┌─[\[\e[0;31mo_o\e[0;34m\]]──[\[\e[0;33m\]\w\[\e[0;34m\]]\[\e[0;34m\]\n\[\e[0;34m\]└──\[\e[0;34m\][\[\e[0m\]"
    # prompt robot
    #PS1='┌─[\e[0;31mo_o\e[m] ─ [\e[0;36m\w\e[m]\n└─|'
    BROWSER=/usr/bin/xdg-open
    ### Man pages en couleur ###
    man() {
    env LESS_TERMCAP_mb=$(printf "\e[1;31m") \
    LESS_TERMCAP_md=$(printf "\e[1;31m") \
    LESS_TERMCAP_me=$(printf "\e[0m") \
    LESS_TERMCAP_se=$(printf "\e[0m") \
    LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
    LESS_TERMCAP_ue=$(printf "\e[0m") \
    LESS_TERMCAP_us=$(printf "\e[1;32m") \
    man "$@"
    Last edited by Kolibry (2014-10-19 20:40:15)

  • Bash completion and shell variables bug

    After a recent system upgrade, I noticed that bash completion of paths with shell variables is somewhat broken. For example:
    cd /
    cd $HOME/De<tab>
    #results
    cd \$HOME/Desktop<space>
    This definitely worked before, either instantly substituting the value of $HOME and then continuing to complete the directories as normal, or leaving the variable name form and completing the directories - I've seen both behaviors on different systems, but since they both worked fine for me I never cared to figure out why it would pick a particular behavior.
    But now, you'll notice that it knows I'm completing a directory, and completes one level, but then escapes the dollar sign so not even that expression works, and further adds a space instead of a forward slash on the end... if you delete the backslash and the space, and type a forward slash and part of another directory you'll get another completion, but then it breaks itself again the same way...
    By the way, I don't have bash_completion installed, I tried it after moving my .bashrc and "su - username" and ensuring the environment was clean, and I also moved the bash_completion.d directory out of paranoia, with no luck.
    Help?
    I guess I should just file a bug report with the bash project - it looks like the kinda completion you sometimes get to help you escape odd characters in filenames, for example
    touch 'odd[file'
    rm od<tab>
    # results
    rm odd\[file

    I just now decided to actually rebuild the bash package with this patch, and I was able to get it to work. I downloaded all the bash files from archlinux svn, I saved the patch as "completion.patch", and I added
    msg "applying patch ${srcdir}/completion.patch"
    patch -Np0 -i "${srcdir}/completion.patch"
    right after the patching loop in the PKGBUILD (and I added completion.patch to the source array and its md5sum to md5sums).
    Now having tried it, it's better than without the patch, but it's still not perfect - it adds a space after completing a folder in a path starting with a variable, instead of a slash, so to complete further path components you have to type backspace slash after each...

Maybe you are looking for