ezbash 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/bin/ezbash +265 -0
  3. metadata +46 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f059ca39322dd1cbc55e6a9de156a71af8fbeb30
4
+ data.tar.gz: d163d26170142ec5fbf3f1b363bde7de047d28f1
5
+ SHA512:
6
+ metadata.gz: 24c3cd420c1ec5c27396fcd3ea62fe6f373c793726b1672ef006731e9bde373cc063e119944183af9a42bcdee51a66064e6ad3bf2fe9db4516932bab2b0ffa83
7
+ data.tar.gz: cc31aaf9969800bc5ebe6dc8e571a3e5ed48be4528a0cabb636cf9847a7f0b4423a12fcb679d0c1cf47c28ec657d58d50f87a5da5b3734b82dfdff3beee88871
data/bin/ezbash ADDED
@@ -0,0 +1,265 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ #Define methods
4
+ def addbrew()
5
+ if 'which brew' == ''
6
+ puts 'You appear to be running MacOS without Homebrew installed.'
7
+ puts "If you don\'t know what Homebrew is, visit 'brew.sh', if you do and would like to install it, type 'yes'. >> "
8
+ userreply = gets.chomp
9
+ userreply.downcase!
10
+ until userselect == true
11
+ if userreply == 'yes'
12
+ Kernel.system "ruby -e '$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)'"
13
+ userselect = true
14
+ elsif userreply == 'no'
15
+ puts 'That\'s fine! Just keep in mind, the install, uninstall, and search commands won\'t work for you'
16
+ userselect = true
17
+ else
18
+ puts 'Please say yes or no.'
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ def installdeb(package)
25
+ Kernel.system "sudo apt-get install #{package}"
26
+ puts "\r"
27
+ puts "I ran: 'sudo apt-get install #{package}'"
28
+ end
29
+ def installrpm(package)
30
+ Kernel.system "sudo yum install #{package}"
31
+ puts "\r"
32
+ puts "I ran: 'sudo yum install #{package}'"
33
+ end
34
+ def installpac(package)
35
+ Kernel.system "sudo pacman -S #{package}"
36
+ puts "\r"
37
+ puts "I ran: 'sudo pacman -S #{package}'"
38
+ puts 'Shouldn\'t you know how to use pacman if you\'re using Arch? Just kidding.'
39
+ end
40
+ def installhb(package)
41
+ Kernel.system "brew install #{package}"
42
+ puts "\r"
43
+ puts "I ran: 'brew install #{package}'"
44
+ end
45
+ def uninstalldeb(package)
46
+ Kernel.system "sudo apt-get remove #{package}"
47
+ puts "\r"
48
+ puts "I ran: 'sudo apt-get remove #{package}'"
49
+ end
50
+ def uninstallrpm(package)
51
+ Kernel.system "sudo yum uninstall #{package}"
52
+ puts "\r"
53
+ puts "I ran: 'sudo yum uninstall #{package}'"
54
+ end
55
+ def uninstallpac(package)
56
+ Kernel.system "sudo pacman -R #{package}"
57
+ puts "\r"
58
+ puts "I ran: 'sudo pacman -R #{package}'"
59
+ puts 'Shouldn\'t you know how to use pacman if you\'re using Arch? Just kidding.'
60
+ end
61
+ def uninstallhb(package)
62
+ Kernel.system "brew uninstall #{package}"
63
+ puts "\r"
64
+ puts "I ran: 'brew uninstall #{package}'"
65
+ end
66
+ def searchdeb(package)
67
+ Kernel.system "sudo apt-cache search #{package}"
68
+ puts "\r"
69
+ puts "I ran: 'sudo apt-cache search #{package}'"
70
+ end
71
+ def searchrpm(package)
72
+ Kernel.system "sudo yum search #{package}"
73
+ puts "\r"
74
+ puts "I ran: 'sudo yum search #{package}'"
75
+ end
76
+ def searchpac(package)
77
+ Kernel.system "pacman -Ss #{package}"
78
+ puts "\r"
79
+ puts "I ran: 'pacman -Ss #{package}'"
80
+ puts 'Shouldn\'t you know how to use pacman if you\'re using Arch? Just kidding.'
81
+ end
82
+ def searchhb(package)
83
+ Kernel.system "brew search #{package}"
84
+ puts "\r"
85
+ puts "I ran: 'brew search #{package}'"
86
+ end
87
+
88
+ #Detect OS
89
+ osraw = `uname -a`
90
+ osraw.downcase!
91
+ os = osraw.split(' ')[5]
92
+ if os == 'darwin' then addbrew() end
93
+
94
+ #Start Program
95
+ puts ' '
96
+ runOnce = false
97
+ exitis = 0
98
+ while exitis == 0 do
99
+ if runOnce == true then puts "\r" end
100
+ print "Type 'help' to list possible commands. >> "
101
+ userCommand = gets.chomp
102
+ userCommand.downcase!
103
+
104
+ case userCommand
105
+ #Package management
106
+ when 'install'
107
+ print 'Please enter the package you\'d like to install. >> '
108
+ package = gets.chomp
109
+ package.downcase!
110
+ case os
111
+ when 'ubuntu'
112
+ installdeb(package)
113
+ when 'debian'
114
+ installdeb(package)
115
+ when 'linux mint'
116
+ installdeb(package)
117
+ when 'redhat'
118
+ installrpm(package)
119
+ when 'fedora'
120
+ installrpm(package)
121
+ when 'open suse'
122
+ installrpm(package)
123
+ when 'arch'
124
+ installpac(package)
125
+ else
126
+ print "\r"
127
+ puts 'Sorry, I didn\'t recognize you\'re operating system.'
128
+ end
129
+ runOnce = true
130
+ when 'uninstall'
131
+ print 'Please enter the name of the package you\'d like to remove. >> '
132
+ package = gets.chomp
133
+ package.downcase
134
+ case os
135
+ when 'ubuntu'
136
+ uninstalldeb(package)
137
+ when 'debian'
138
+ uninstalldeb(package)
139
+ when 'linux mint'
140
+ uninstalldeb(package)
141
+ when 'redhat'
142
+ uninstallrpm(package)
143
+ when 'fedora'
144
+ uninstallrpm(package)
145
+ when 'open suse'
146
+ uninstallrpm(package)
147
+ when 'arch'
148
+ uninstallpac(package)
149
+ else
150
+ print "\r"
151
+ puts 'Sorry, I didn\'t recognize you\'re operating system.'
152
+ end
153
+ runOnce = true
154
+ when 'search'
155
+ print 'Please enter the package you\'d like to remove. >> '
156
+ package = gets.chomp
157
+ package.downcase!
158
+ case os
159
+ when 'ubuntu'
160
+ searchdeb(package)
161
+ when 'debian'
162
+ searchdeb(package)
163
+ when 'linux mint'
164
+ searchdeb(package)
165
+ when 'redhat'
166
+ searchrpm(package)
167
+ when 'fedora'
168
+ searchrpm(package)
169
+ when 'open suse'
170
+ searchrpm(package)
171
+ when 'arch'
172
+ searchpac(package)
173
+ else
174
+ print "\r"
175
+ puts 'Sorry, I didn\'t recognize you\'re operating system.'
176
+ end
177
+ runOnce = true
178
+ #File/folder manipulation
179
+ when 'copy'
180
+ print 'Please enter the path to the file (e.g. Downloads/report.doc) >> '
181
+ cpfile = gets.chomp
182
+ puts ' '
183
+ print 'Please enter the destination inclduding the name of the file (e.g. Documents/report.doc) >> '
184
+ cpdest = gets.chomp
185
+ Kernel.system "cp -avr #{cpfile} #{cpdest}"
186
+ puts "\r"
187
+ puts "I ran: 'cp #{cpfile} #{cpdest}'"
188
+ runOnce = true
189
+ when 'rename'
190
+ print 'Please enter the path to the file (e.g. Documents/report.doc). >> '
191
+ cpfile = gets.chomp
192
+ puts ' '
193
+ print 'Please enter the new name inclduding the destination you used earlier (e.g. Documents/Essay.doc). >> '
194
+ cpdest = gets.chomp
195
+ Kernel.system "cp #{cpfile} #{cpdest}"
196
+ puts "\r"
197
+ puts "I ran: 'cp #{cpfile} #{cpdest}'"
198
+ runOnce = true
199
+ when 'delete file'
200
+ print 'Please enter the name of the file you\'d like to remove along with its directory (e.g. Documents/sensitive.doc). >> '
201
+ file = gets.chomp
202
+ Kernel.system "rm #{file}"
203
+ puts "\r"
204
+ puts "I ran: 'rm #{file}'"
205
+ runOnce = true
206
+ when 'delete folder'
207
+ print 'Please enter the name of the folder you\'d like to remove along with its directory (e.g. Garbage/, Documents/Garbage/). >> '
208
+ folder = gets.chomp
209
+ Kernel.system "rm -R -i #{folder}"
210
+ puts "\r"
211
+ puts "I ran: 'rm -R -i #{folder}'"
212
+ runOnce = true
213
+ when 'create file'
214
+ print 'Please name your new file along with its directory (e.g. Documents/newfile.doc). >> '
215
+ file = gets.chomp
216
+ Kernel.system "touch #{file}"
217
+ puts "\r"
218
+ puts "I ran: 'touch #{file}'"
219
+ runOnce = true
220
+ #The folowing code is broken for now. Disregard it.
221
+ =begin when 'change working folder'
222
+ print 'Please enter the name of the folder you like to switch to (e.g. Documents/Folder). >> '
223
+ folder = gets.chomp
224
+ Kernel.system "cd #{folder}"
225
+ puts "I ran: 'cd #{file}'"
226
+
227
+ when 'list files'
228
+ print 'Please enter the folder you\'d like to list files in (e.g. Documents). >> '
229
+ folder = gets.chomp
230
+ Kernel.system "ls #{folder} --color=auto"
231
+ puts "\r"
232
+ puts "I ran: 'ls #{folder}'"
233
+ =end
234
+
235
+ #The following code is broken for now. Disregard it.
236
+ =begin
237
+ when 'edit file'
238
+ print 'Please enter the name and location of the file you\'d like to edit (e.g. Documents/report.doc). >> '
239
+ file = gets.chomp
240
+ Kernel.system "nano #{file}"
241
+ %x[nano #{file}]
242
+ `nano #{file}`
243
+ puts "\r"
244
+ puts "I ran: 'nano #{file}'"
245
+ =end
246
+ when 'help'
247
+ puts "\t install: install new programs or 'packages' on your system"
248
+ puts "\t uninstall: remove programs or 'packages' from your system"
249
+ puts "\t search: search for a program that can be installed with the aforementioned 'install' command"
250
+ puts "\t copy: copies a file or folder to another place"
251
+ puts "\t rename: renames a file on your computer"
252
+ puts "\t delete file: deletes a file on your compter"
253
+ puts "\t delete folder: deletes a folder on your computer (type yes at every promt)."
254
+ puts "\t create file: creates an empty text file on your computer (.rb, .py, .java, etc. count as text files)"
255
+ puts "\t change working folder: change the folder you\'ll be working in (e.g. Documents)"
256
+ puts "\t list files: list all of the files in a given folder (e.g. Downloads)"
257
+ # puts "\t edit file: edits a text file in a bare-bones, quick editor (.rb, .html, .java, etc. count as text files)"
258
+ puts "\t exit: exits ezbash"
259
+ puts "\r"
260
+ when 'exit'
261
+ abort
262
+ else
263
+ puts 'Sorry, I didn\'t catch that.'
264
+ end
265
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ezbash
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ platform: ruby
6
+ authors:
7
+ - Logan Saunders
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-02-15 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Users are thrown into a simplified shell with only a 'help' command as
14
+ a guide.
15
+ email: timandmoby@gmail.com
16
+ executables:
17
+ - ezbash
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - bin/ezbash
22
+ homepage: https://github.com/gigavinyl/ezbash.git
23
+ licenses:
24
+ - GNU GPL v2
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.4.5
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: Ezbash!
46
+ test_files: []