init
This commit is contained in:
		
							
								
								
									
										73
									
								
								nfrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								nfrc
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,73 @@
 | 
			
		||||
eval "$(fzf --bash)"
 | 
			
		||||
 | 
			
		||||
FMENU="fzf --header=$(basename "$0") \
 | 
			
		||||
           --layout=reverse \
 | 
			
		||||
           --exact \
 | 
			
		||||
           --border=bold \
 | 
			
		||||
           --border=rounded \
 | 
			
		||||
           --margin=5% \
 | 
			
		||||
           --multi \
 | 
			
		||||
           --color=dark \
 | 
			
		||||
           --height=95% \
 | 
			
		||||
           --info=hidden \
 | 
			
		||||
           --header-first \
 | 
			
		||||
           --bind change:top \
 | 
			
		||||
           --prompt"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
_fzf_compgen_path() {
 | 
			
		||||
    fd --hidden --follow --exclude ".git" --exclude ".cargo" --exclude ".cache" . "$1"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sshto() {
 | 
			
		||||
    ssh $(cat ~/.ssh/config | grep "Host " | awk '{print $2}' | $FMENU "choose host ")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sshapt() {
 | 
			
		||||
    user=$(echo $1 | cut -d@ -f1)
 | 
			
		||||
    prefix=$(echo $1 | cut -d@ -f2)
 | 
			
		||||
    [ -z "$user" ] && user="useraccount"
 | 
			
		||||
    [ -z "$prefix" ] && {
 | 
			
		||||
        apt=$(cat ~/bazis.csv | $FMENU "Выбирай аптеку: ")
 | 
			
		||||
        [ -z "$apt" ] && return 1
 | 
			
		||||
        prefix=$(echo $apt | cut -d, -f1)
 | 
			
		||||
    } 
 | 
			
		||||
 | 
			
		||||
    echo "USER: '$user'"
 | 
			
		||||
    echo "PREFIX: $prefix"
 | 
			
		||||
 | 
			
		||||
    octet1=10
 | 
			
		||||
    octet2=0
 | 
			
		||||
    octet3=0
 | 
			
		||||
    case "${#prefix}" in
 | 
			
		||||
        1)
 | 
			
		||||
            octet3=$prefix
 | 
			
		||||
            ;;
 | 
			
		||||
        2)
 | 
			
		||||
            octet3=$prefix
 | 
			
		||||
            ;;
 | 
			
		||||
        3)
 | 
			
		||||
            octet2=${prefix:0:2}
 | 
			
		||||
            octet3=${prefix:2:2}
 | 
			
		||||
            ;;
 | 
			
		||||
        4)
 | 
			
		||||
            octet2=${prefix:0:3}
 | 
			
		||||
            octet3=${prefix:3:3}
 | 
			
		||||
            ;;
 | 
			
		||||
    esac
 | 
			
		||||
    ips=""
 | 
			
		||||
    for i in {100..130..10}; do
 | 
			
		||||
        addr=$octet1.$octet2.$octet3.$i
 | 
			
		||||
        printf "Trying $addr..."
 | 
			
		||||
        nc -z -w 1 $addr 22
 | 
			
		||||
        [ $? -eq 0 ] && {
 | 
			
		||||
            [ -z "$ips" ] && ips=$addr || ips=$ips'\n'$addr
 | 
			
		||||
            printf " yes!\n"
 | 
			
		||||
        } || printf " no.\n"
 | 
			
		||||
    done    
 | 
			
		||||
    addr=$(printf "$ips" | $FMENU "Выбери ПК: ")
 | 
			
		||||
    [ -z "$addr" ] && return 1
 | 
			
		||||
 | 
			
		||||
    ssh $user@$addr
 | 
			
		||||
     
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user