ezbash 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/ezbash +265 -0
- 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: []
|