Restructurize and update readme.

This commit is contained in:
kyb
2018-08-01 23:21:37 +03:00
parent 3a732304b7
commit 4111c40286
6 changed files with 40 additions and 34 deletions

View File

@@ -4,24 +4,24 @@ Utility functions to start your ssh agent when using fish shell.
You will only need to run `ssh-add` and type your password once, You will only need to run `ssh-add` and type your password once,
after the running ssh_agent should do the work for you. after the running ssh_agent should do the work for you.
## Usage
```fish
fish-ssh-agent
```
## Installation ## Installation
### Using [fundle](https://github.com/tuvistavie/fundle) (recommended) ```fish
git clone https://.../fish-ssh-agent
Add source fish-ssh-agent/install.fish
```
fundle plugin 'tuvistavie/fish-ssh-agent'
``` ```
to your `config.fish`, reload your shell and run `fundle install`. or
### Using [Fisherman](https://github.com/fisherman/fisherman) ```sh
git clone https://.../fish-ssh-agent
fisher install tuvistavie/fish-ssh-agent cp fish-ssh-agent/functions/* ~/.config/fish/functions
```
### Manually
Put `functions/__ssh_agent_start` your `~/.config/fish/functions` directory,
and source `init.fish` on startup.

View File

@@ -1,12 +1,13 @@
function __ssh_agent_is_started -d "check if ssh agent is already started" function __ssh_agent_is_started -d "check if ssh agent is already started"
if begin; test -f $SSH_ENV; and test -z "$SSH_AGENT_PID"; end if begin; test -f $SSH_ENV; and test -z "$SSH_AGENT_PID"; end
source $SSH_ENV > /dev/null source $SSH_ENV > /dev/null
end end
if test -z "$SSH_AGENT_PID" if test -z "$SSH_AGENT_PID"
return 1 return 1
end end
ps -ef | grep $SSH_AGENT_PID | grep -v grep | grep -q ssh-agent ps -ef | grep $SSH_AGENT_PID | grep -v grep | grep -q ssh-agent
return $status #pgrep ssh-agent
return $status
end end

View File

@@ -1,5 +1,5 @@
function __ssh_agent_start -d "start a new ssh agent" function __ssh_agent_start -d "start a new ssh agent"
ssh-agent -c | sed 's/^echo/#echo/' > $SSH_ENV ssh-agent -c | sed 's/^echo/#echo/' > $SSH_ENV
chmod 600 $SSH_ENV chmod 600 $SSH_ENV
source $SSH_ENV > /dev/null source $SSH_ENV > /dev/null
end end

View File

@@ -0,0 +1,9 @@
function fish-ssh-agent --description "Start ssh-agent if not started yet, or uses already started ssh-agent."
if test -z "$SSH_ENV"
set -xg SSH_ENV $HOME/.ssh/environment
end
if not __ssh_agent_is_started
__ssh_agent_start
end
end

View File

@@ -1,7 +0,0 @@
if test -z "$SSH_ENV"
set -xg SSH_ENV $HOME/.ssh/environment
end
if not __ssh_agent_is_started
__ssh_agent_start
end

3
install.fish Normal file
View File

@@ -0,0 +1,3 @@
source functions/*
funcsave __ssh_agent_is_started __ssh_agent_start fish-ssh-agent