+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