Извините, мой предыдущий ответ был от openssl человека, не openssl enc документы.
Этим решением не является конвейер, но я полагаю, что это решение препятствует тому, чтобы пароль был видим к PS.
Используя здесь документ, только openssl видит текст пароля.
Пока Вы несомненно устраните промежуточный файл, никакая трассировка не остается. Возможно, кто-то помогает, может сделать это в конвейере и устранить промежуточный файл?
# cp file{,.old} don't need this anymore since intermediate becomes same
read -sp 'Enter password. ' PASS; echo
#no need to export, env's are readable, as mentioned
# decode into intermediate file
openssl <<HERE 2>&1 >/dev/null
enc -d -aes-256-cbc -k "$PASS" -in file -out intermediate
HERE
# edit intermediate
# encode intermediate back into file
openssl <<HERE 2>&1 >/dev/null
enc -e -aes-256-cbc -k "$PASS" -in intermediate -out file
HERE
unset PASS
rm -f intermediate
Можно вставить его Ваш .bash_profile
, который выполняется каждый раз, когда Вы входите в систему.
Или, если это - псевдоним для долгой команды, можно вставить это Ваш .bash_aliases
файл в соответствии с Вашим корневым каталогом:
alias short_version="very long command here"
Вы можете создавать / изменять / удалять постоянные переменные, используя функции kv-bash
:
1) Скачать kv -bash
файл из github :
git clone https://github.com/damphat/kv-bash.git
cp -ar ./kv-bash/kv-bash /usr/local
chmod +x /usr/local/kv-bash
2) Импортировать функции kv-bash:
# You can also put this line in .bash_profile
source kv-bash
3) Теперь создавать / изменять переменные
#let try create/modify/delete variable
kvset myEmail john@example.com
kvset myCommand "Very Long Long Long String"
#read the varible
kvget myEmail
#you can also use in another script with $(kvget myEmail)
echo $(kvget myEmail)
#delete variable
kvdel myEmail
Я узнал об этом из этого https : //hub.docker.com/r/cuongdd1/cloud-provisioning-packs/~/dockerfile/
.bash_aliases
, необходимо получить тот файл (сsource
или.
) в.bashrc
(или иначе), чтобы это работало - это не сделано автоматически, по крайней мере, не для меня. – Emanuel Berg 17.11.2012, 00:34.bashrc
это автоматически источники.bash_aliases
если это существует. Но Вы правы, это не стандартный файл запуска Bash. – cjm 19.11.2012, 09:32