+lps
This commit is contained in:
parent
b32af37af5
commit
ee25546049
1 changed files with 50 additions and 0 deletions
50
lps/lps.sh
Normal file
50
lps/lps.sh
Normal file
|
@ -0,0 +1,50 @@
|
|||
# LASTPASS
|
||||
lp_login=
|
||||
color1='\e[31m'
|
||||
color2='\e[32m'
|
||||
color3='\e[34m'
|
||||
color4='\e[33m'
|
||||
|
||||
if [ "$lp_login" = "" ]; then echo "Please edit lps.sh to set your Lastpass login."; fi
|
||||
|
||||
lp_check_login(){
|
||||
lpass status | grep 'Logged in' > /dev/null
|
||||
if [ $? != 0 ]; then lpass login $lp_login; fi
|
||||
}
|
||||
|
||||
lp_color_alt(){
|
||||
case "$color" in
|
||||
"$color1") color=$color2;;
|
||||
"$color2") color=$color3;;
|
||||
"$color3") color=$color4;;
|
||||
"$color4") color=$color1;;
|
||||
esac
|
||||
}
|
||||
|
||||
lps() {
|
||||
lp_check_login
|
||||
lpass ls > .lp_extract
|
||||
IFS_bak=$IFS
|
||||
IFS=$'\n'
|
||||
declare SEARCH=($(grep -i $1 .lp_extract))
|
||||
lp_search_count=$(echo "${SEARCH[*]}" | wc -l )
|
||||
lp_search_count=$((--lp_search_count))
|
||||
color=$color1
|
||||
for i in $( seq 0 $lp_search_count )
|
||||
do
|
||||
echo -e "$color$i) ${SEARCH[$i]}"
|
||||
lp_color_alt
|
||||
done
|
||||
echo -e "\e[0m\n"
|
||||
read -p "Item ? " lp_item
|
||||
lp_item_id=$(echo ${SEARCH[$lp_item]} | awk -F' |]' '{printf $(NF-1)}')
|
||||
lp_item_id=${lp_item_id#* }
|
||||
lpass show $lp_item_id
|
||||
read -p "Press enter to clip user/pass..."
|
||||
lpass show $lp_item_id --username | xclip
|
||||
echo "Username clipped for 4 seconds..."; sleep 4
|
||||
lpass show $lp_item_id --password | xclip
|
||||
echo "Password clipped"
|
||||
notify-send "Lastpass CLI" "Password clipped"
|
||||
rm .lp_extract
|
||||
}
|
Loading…
Reference in a new issue