Это не keygripid, а fingerprint ключа. Вот ссылка. Вот уродливый perl-скрипт, который поможет вам извлечь нужные значения:
gpg -K --fingerprint |
perl -lne '$/="\n\n"' \
-e if ( ($len,$grip,$fp)=/^sec\s+(\w+)\/([0-9A-Z]+).* fingerprint = (.*?)\s+uid\s/ms)' \
-e { $fp =~ s/\s*//g; print "$grip $fp";}'
outputs:
EF2141BE 24C5202D6905CB0A5C94AB36134E3618EF6141B8
1BA3D65B 484EE4F3DC2595FAF91F51A9731342954BAFD753
Скопируйте 2-й столбец и передайте его в команду preset
echo secretpassword | /usr/libexec/gpg-preset-passphrase --preset
Если у вас есть abc.inc
:
x=1
exit 0
и klm.inc
:
y=2
exit 0
, то если у вас есть объединить
скрипт:
#!/bin/bash
for fn in abc klm; do
grep -vE '^exit' $fn.inc > /tmp/xyz.tmp
source /tmp/xyz.tmp
done
echo x: $x
echo y: $y
вы можно запустить comb
и получить в качестве вывода:
x: 1
y: 2
Предполагается, что ваш оператор exit
находится в начале своих строк, возможно, вам придется настроить grep
если они не
Вы можете переопределить exit
в своем main.sh
, объявив пользовательскую функцию exit
в начале main.sh
.
#!/bin/bash
# main.sh
exit() {
local exit_code="${1-?}"
test "$exit_code" -ne 0 && builtin exit "$exit_code"
:
}
clear;
source /opt/external-svn/config.sh;
echo "$var1 and $var2 and $var3";
#unset -f exit; exit 0
builtin exit 0