···
1
1
-
export PATH="$HOME/bin/$(hostname):$HOME/bin:$PATH"
1
1
+
export PATH=~/bin/$(hostname):~/bin/$(uname -m):~/bin:$PATH
2
2
export ENV=~/.shinit
···
30
30
fi
31
31
32
32
export EDITOR=vim
33
33
-
export PS1='$(short-pwd)$ '
33
33
+
export PS1='$(prompt)$ '
···
1
1
+
package main
2
2
+
3
3
+
import (
4
4
+
"fmt"
5
5
+
"os"
6
6
+
"strings"
7
7
+
"syscall"
8
8
+
"time"
9
9
+
)
10
10
+
11
11
+
func main() {
12
12
+
cwd, _ := os.Getwd()
13
13
+
host, _ := os.Hostname()
14
14
+
home := os.Getenv("HOME")
15
15
+
var parts []string
16
16
+
if strings.HasPrefix(cwd, home) {
17
17
+
cwd = "~" + cwd[len(home):]
18
18
+
}
19
19
+
var sysinfo syscall.Sysinfo_t
20
20
+
syscall.Sysinfo(&sysinfo)
21
21
+
uptime := time.Duration(sysinfo.Uptime) * time.Second
22
22
+
fmt.Printf("\033[38;5;162m[%d:%02d:%02d] %s\033[0m ", int64(uptime.Hours()),
23
23
+
int64(uptime.Minutes()) % 60, int64(uptime.Seconds()) % 60,
24
24
+
host)
25
25
+
26
26
+
parts = strings.Split(cwd, "/")
27
27
+
for i, part := range parts {
28
28
+
if i == len(parts)-1 {
29
29
+
fmt.Printf("%s", part)
30
30
+
} else {
31
31
+
if len(part) != 0 {
32
32
+
fmt.Printf("%c/", part[0])
33
33
+
} else {
34
34
+
fmt.Printf("/")
35
35
+
}
36
36
+
}
37
37
+
}
38
38
+
}
···
1
1
-
#!/bin/sh
2
2
-
#
3
3
-
# /s/h/o/rtness
4
4
-
5
5
-
term=$(printf "$PWD" | sed -E 's|(\.?[^/])([^/]+)\/|\1/|g')
6
6
-
printf "\033[38;5;162m$term\033[0m"
···
1
1
#!/bin/sh
2
2
3
3
-
vim
3
3
+
vim "$@"