bash source script.sh with exit 0

Это не 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 

2
19.04.2016, 11:48
2 ответа

Если у вас есть 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 если они не

2
27.01.2020, 21:54

Вы можете переопределить 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
4
27.01.2020, 21:54

Теги

Похожие вопросы