Создание псевдонима в zshrc из файла json
Кто-нибудь знает, как создать псевдоним в zshrc читая файл JSON с локальной машины
Например, мои имена файлов JSON ip.json как есть
{"local":"127.0.0.1"}
и хотите создать псевдоним в zshrc как
alias local = "ssh root@127.0.0.1"
1 ответ
Решение
Вы можете использовать jq инструмент (доступно через apt-get) для этого.
Если файл ip.json имеет объект json, что каждый ключ является отдельным хостом. Следуя вашему примеру (по любой причине, вы не можете использовать local псевдоним на Zsh без получения проблемы с завершением)
{
"Local": "127.0.0.1",
"remote": "192.168.0.5"
}
Вы можете добавить это к вашему zshrc файл:
# Use jq to get all keys in the root object and create a loop
for host in $(jq --raw-output 'keys | .[]' ip.json); do
# Get the key value of these keys and create the alias
alias $host=ssh\ root@$(jq --raw-output ".$host?" ip.json)
done
использование man jq для получения дополнительной информации об этом инструменте.