... | ... |
@@ -1,3 +1,77 @@ |
1 | 1 |
# bashclip |
2 | 2 |
|
3 | 3 |
Bash clipboard of snippets |
4 |
+ |
|
5 |
+# Merge Lines 2-by-2 |
|
6 |
+```bash |
|
7 |
+sed '$!N;s/\n/ /' infile |
|
8 |
+``` |
|
9 |
+ |
|
10 |
+# Clean Exit |
|
11 |
+```bash |
|
12 |
+function clean_temp_files() |
|
13 |
+{ |
|
14 |
+ rm -f $TEMPHTML $TEMPJSON $TEMPCOOKIE $TEMPCSV |
|
15 |
+} |
|
16 |
+trap clean_temp_files EXIT |
|
17 |
+``` |
|
18 |
+# Die |
|
19 |
+```bash |
|
20 |
+function die() |
|
21 |
+{ |
|
22 |
+ RETCODE=$1 |
|
23 |
+ if [ "" == "$1" ] |
|
24 |
+ then |
|
25 |
+ RETCODE=255 |
|
26 |
+ fi |
|
27 |
+ echo " FAILED" |
|
28 |
+ exit $RETCODE |
|
29 |
+} |
|
30 |
+``` |
|
31 |
+ |
|
32 |
+# Minimal RC Management |
|
33 |
+```bash |
|
34 |
+function readrc() |
|
35 |
+{ |
|
36 |
+ echo "+- Reading credentials from $RCFILE" |
|
37 |
+ USER=$(grep "user=" $RCFILE | awk -F'=' '{print $2}') |
|
38 |
+ PASSWD=$(grep "password=" $RCFILE | awk -F'=' '{print $2}') |
|
39 |
+} |
|
40 |
+ |
|
41 |
+if [ ! -e $RCFILE ] |
|
42 |
+then |
|
43 |
+ echo "+- Credentials file does not exist" |
|
44 |
+ read -e -p " +- Username : " TEMP |
|
45 |
+ USER=$TEMP |
|
46 |
+ TEMP="" |
|
47 |
+ read -e -s -p " +- Password : " TEMP |
|
48 |
+ PASSWD=$TEMP |
|
49 |
+ |
|
50 |
+ # Make the file unreadable by others *BEFORE* putting password. |
|
51 |
+ touch $RCFILE |
|
52 |
+ chmod go-r $RCFILE |
|
53 |
+ |
|
54 |
+ echo "user=$USER">$RCFILE |
|
55 |
+ echo "password=$PASSWD" >> $RCFILE |
|
56 |
+ echo "" |
|
57 |
+else |
|
58 |
+ readrc |
|
59 |
+fi |
|
60 |
+``` |
|
61 |
+ |
|
62 |
+# Logging |
|
63 |
+```bash |
|
64 |
+LOG_ENABLED=1 |
|
65 |
+LOGFILE="<path>/to.log" |
|
66 |
+function log() { |
|
67 |
+ if [ 1 -eq $LOG_ENABLED ] |
|
68 |
+ then |
|
69 |
+ DATE=$(date) |
|
70 |
+ echo "$DATE $(hostname) $(basename $0): $@" >> $LOGFILE |
|
71 |
+ fi |
|
72 |
+} |
|
73 |
+ |
|
74 |
+DATE_START_ALL=$(date +%s) |
|
75 |
+log "############################################################" |
|
76 |
+log "Started @ $DATE_START_ALL" |
|
77 |
+``` |