Seite 1 von 1

bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 13:11
von leesrott
Hallo Zusammen. Seit gestern benutze ich den Passwortmanager pass auf der Konsole. Es hat alles soweit geklappt, allerdings scheint die  bash completion nicht zu funktionieren. Ich muss also jeden Pfad vollst

Re: bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 13:56
von gosia
Hallo leesrott,
[quote="leesrott"]
allerdings scheint die  bash completion nicht zu funktionieren.
[/quote]
Nur zur Kl

Re: bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 14:13
von leesrott
Gute Frage. Die normale Vervollst

Re: bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 16:34
von gosia
Hallo leesrott,
[quote="leesrott"]
Nur bei pass werden die Pfade zu den einzelnen Passw

Re: bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 17:56
von leesrott
Also ...

Code: Alles auswählen

~]$ complete -p | grep pass
~]$
ergibt nichts.
Inhalt der Datei:

Code: Alles auswählen

# completion file for bash

# Copyright (C) 2012 - 2014 Jason A. Donenfeld <Jason@zx2c4.com> and
# Brian Mattern <rephorm@rephorm.com>. All Rights Reserved.
# This file is licensed under the GPLv2+. Please see COPYING for more information.

_pass_complete_entries () {
	prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store/}"
	suffix=".gpg"
	autoexpand=${1:-0}

	local IFS=$'\n'
	local items=($(compgen -f $prefix$cur))
	for item in ${items[@]}; do
		[[ $item =~ /\.[^/]*$ ]] && continue

		# if there is a unique match, and it is a directory with one entry
		# autocomplete the subentry as well (recursively)
		if [[ ${#items[@]} -eq 1 && $autoexpand -eq 1 ]]; then
			while [[ -d $item ]]; do
				local subitems=($(compgen -f "$item/"))
				local filtereditems=( )
				for item2 in "${subitems[@]}"; do
					[[ $item2 =~ /\.[^/]*$ ]] && continue
					filtereditems+=( "$item2" )
				done
				if [[ ${#filtereditems[@]} -eq 1 ]]; then
					item="${filtereditems[0]}"
				else
					break
				fi
			done
		fi

		# append / to directories
		[[ -d $item ]] && item="$item/"

		item="${item%$suffix}"
		COMPREPLY+=("${item#$prefix}")
	done
}

_pass_complete_folders () {
	prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store/}"

	local IFS=$'\n'
	local items=($(compgen -d $prefix$cur))
	for item in ${items[@]}; do
		[[ $item == $prefix.* ]] && continue
		COMPREPLY+=("${item#$prefix}/")
	done
}

_pass_complete_keys () {
	local IFS=$'\n'
	# Extract names and email addresses from gpg --list-keys
	local keys="$(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d')"
	COMPREPLY+=($(compgen -W "${keys}" -- ${cur}))
}

_pass()
{
	COMPREPLY=()
	local cur="${COMP_WORDS[COMP_CWORD]}"
	local commands="init ls find grep show insert generate edit rm mv cp git help version"
	if [[ $COMP_CWORD -gt 1 ]]; then
		local lastarg="${COMP_WORDS[$COMP_CWORD-1]}"
		case "${COMP_WORDS[1]}" in
			init)
				if [[ $lastarg == "-p" || $lastarg == "--path" ]]; then
					_pass_complete_folders
				else
					COMPREPLY+=($(compgen -W "-p --path" -- ${cur}))
					_pass_complete_keys
				fi
				;;
			ls|list|edit)
				_pass_complete_entries
				;;
			show|-*)
				COMPREPLY+=($(compgen -W "-c --clip" -- ${cur}))
				_pass_complete_entries 1
				;;
			insert)
				COMPREPLY+=($(compgen -W "-e --echo -m --multiline -f --force" -- ${cur}))
				_pass_complete_entries
				;;
			generate)
				COMPREPLY+=($(compgen -W "-n --no-symbols -c --clip -f --force -i --in-place" -- ${cur}))
				_pass_complete_entries
				;;
			cp|copy|mv|rename)
				COMPREPLY+=($(compgen -W "-f --force" -- ${cur}))
				_pass_complete_entries
				;;
			rm|remove|delete)
				COMPREPLY+=($(compgen -W "-r --recursive -f --force" -- ${cur}))
				_pass_complete_entries
				;;
			git)
				COMPREPLY+=($(compgen -W "init push pull config log reflog rebase" -- ${cur}))
				;;
		esac
	else
		COMPREPLY+=($(compgen -W "${commands}" -- ${cur}))
		_pass_complete_entries 1
	fi
}

complete -o filenames -o nospace -F _pass pass
Rechte der Datei sind auf root gesetzt. Siehe Bild im Anhang.

Re: bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 21:30
von gosia
Hallo leesrott,
die Datei /usr/share/bash-completion/completions/pass sieht soweit gut aus, ohne da

Re: bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 21:52
von leesrott
Entschuldige bitte, aber der source Befehl ist mir noch nicht vertraut. Wenn ich ihn im entsprechenden Verzeichnis deiner Anweisung entsprechend ausf

Re: bash completion in pass funktioniert nicht

Verfasst: Sonntag 12. Juni 2016, 22:38
von gosia
Hallo leesrott,
leesrott hat geschrieben: Entschuldige bitte, aber der source Befehl ist mir noch nicht vertraut.
Du musst dich nicht entschuldigen, ich habe einfach zu viel vorausgesetzt. Der Befehl

Code: Alles auswählen

source <script>
bewirkt einfach, da

Re: bash completion in pass funktioniert nicht

Verfasst: Montag 13. Juni 2016, 12:36
von leesrott
Okay. Dann bleibt mir nur zu hoffen, dass dir

Re: bash completion in pass funktioniert nicht

Verfasst: Montag 13. Juni 2016, 14:09
von gosia
Hallo leesrott,
[quote="leesrott"]
Kann es mit den Rechten zu tun haben?
[/quote]
Nein, es hat nur was mit meiner Dummheit zu tun ;) Ich schiebe es jetzt einfach mal auf die sp

Re: bash completion in pass funktioniert nicht

Verfasst: Montag 13. Juni 2016, 21:04
von leesrott
Hallo gosia. Vielen vielen Dank f

Re: bash completion in pass funktioniert nicht

Verfasst: Montag 13. Juni 2016, 22:15
von gosia
Hallo leesrott,
[quote="leesrott"]
Dumm wird man nicht, dumm bleibt man. ;)
[/quote]
Das beruhigt mich. Da kann es ja nicht schlimmer werden, wenn es so bleibt ;)
[quote="leesrott"]
Nachtrag: Das Ganze scheint doch noch nicht ganz zu klappen. Wenn ich das Terminal wieder schlie

Re: bash completion in pass funktioniert nicht

Verfasst: Montag 13. Juni 2016, 23:36
von leesrott
Hallo gosia. Vielen Dank noch mal f

Re: bash completion in pass funktioniert nicht

Verfasst: Dienstag 14. Juni 2016, 11:51
von gosia
Hallo leesrott,
[quote="leesrott"]
So ganz klar ist es mir noch nicht, was ich da gemacht habe, aber die Sache l

Re: bash completion in pass funktioniert nicht

Verfasst: Dienstag 14. Juni 2016, 12:08
von leesrott
[quote="gosia"]
PS. Wo hast Du die L