Linux premium71.web-hosting.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
LiteSpeed
Server IP : 198.187.29.8 & Your IP : 216.73.216.206
Domains :
Cant Read [ /etc/named.conf ]
User : cleahvkv
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby33 /
share /
ruby /
Delete
Unzip
Name
Size
Permission
Date
Action
bigdecimal
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
cgi
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
csv
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
did_you_mean
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
digest
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
drb
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
erb
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
error_highlight
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
fiddle
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
forwardable
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
io
[ DIR ]
drwxr-xr-x
2025-04-24 07:57
json
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
logger
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
net
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
objspace
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
open3
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
openssl
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
optparse
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
prism
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
psych
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
random
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
reline
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
rinda
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
ripper
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
ruby_vm
[ DIR ]
drwxr-xr-x
2024-06-12 10:36
set
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
syntax_suggest
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
syslog
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
unicode_normalize
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
uri
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
vendor_ruby
[ DIR ]
drwxr-xr-x
2025-04-24 07:57
yaml
[ DIR ]
drwxr-xr-x
2025-05-13 10:35
English.rb
5.54
KB
-rw-r--r--
2025-04-24 07:57
abbrev.rb
3.47
KB
-rw-r--r--
2025-04-24 07:57
base64.rb
13.22
KB
-rw-r--r--
2025-04-24 07:57
benchmark.rb
18.42
KB
-rw-r--r--
2025-04-24 07:57
bigdecimal.rb
130
B
-rw-r--r--
2025-04-24 07:57
bundled_gems.rb
6.86
KB
-rw-r--r--
2025-04-24 07:57
cgi.rb
9.83
KB
-rw-r--r--
2025-04-24 07:57
coverage.rb
368
B
-rw-r--r--
2025-04-24 07:57
csv.rb
92.46
KB
-rw-r--r--
2025-04-24 07:57
date.rb
1.17
KB
-rw-r--r--
2025-04-24 07:57
delegate.rb
11.68
KB
-rw-r--r--
2025-04-24 07:57
did_you_mean.rb
5.36
KB
-rw-r--r--
2025-04-24 07:57
digest.rb
3.3
KB
-rw-r--r--
2025-04-24 07:57
drb.rb
50
B
-rw-r--r--
2025-04-24 07:57
erb.rb
14.53
KB
-rw-r--r--
2025-04-24 07:57
error_highlight.rb
84
B
-rw-r--r--
2025-04-24 07:57
expect.rb
2.19
KB
-rw-r--r--
2025-04-24 07:57
fiddle.rb
2.88
KB
-rw-r--r--
2025-04-24 07:57
fileutils.rb
78.69
KB
-rw-r--r--
2025-04-24 07:57
find.rb
2.52
KB
-rw-r--r--
2025-04-24 07:57
forwardable.rb
9.03
KB
-rw-r--r--
2025-04-24 07:57
getoptlong.rb
20.26
KB
-rw-r--r--
2025-04-24 07:57
ipaddr.rb
20.93
KB
-rw-r--r--
2025-04-24 07:57
json.rb
19.62
KB
-rw-r--r--
2025-04-24 07:57
kconv.rb
5.72
KB
-rw-r--r--
2025-04-24 07:57
logger.rb
22.03
KB
-rw-r--r--
2025-04-24 07:57
mkmf.rb
88.69
KB
-rw-r--r--
2025-04-24 07:57
monitor.rb
6.75
KB
-rw-r--r--
2025-04-24 07:57
mutex_m.rb
2.36
KB
-rw-r--r--
2025-04-24 07:57
objspace.rb
4.14
KB
-rw-r--r--
2025-04-24 07:57
observer.rb
6.38
KB
-rw-r--r--
2025-04-24 07:57
open-uri.rb
25.84
KB
-rw-r--r--
2025-04-24 07:57
open3.rb
47.51
KB
-rw-r--r--
2025-04-24 07:57
openssl.rb
1.03
KB
-rw-r--r--
2025-04-24 07:57
optionparser.rb
59
B
-rw-r--r--
2025-04-24 07:57
optparse.rb
61.82
KB
-rw-r--r--
2025-04-24 07:57
ostruct.rb
14.22
KB
-rw-r--r--
2025-04-24 07:57
pathname.rb
16.85
KB
-rw-r--r--
2025-04-24 07:57
pp.rb
17.24
KB
-rw-r--r--
2025-04-24 07:57
prettyprint.rb
15.93
KB
-rw-r--r--
2025-04-24 07:57
prism.rb
3.17
KB
-rw-r--r--
2025-04-24 07:57
pstore.rb
20.36
KB
-rw-r--r--
2025-04-24 07:57
psych.rb
24.44
KB
-rw-r--r--
2025-04-24 07:57
readline.rb
215
B
-rw-r--r--
2025-04-24 07:57
reline.rb
14.7
KB
-rw-r--r--
2025-04-24 07:57
resolv-replace.rb
1.76
KB
-rw-r--r--
2025-04-24 07:57
resolv.rb
85.03
KB
-rw-r--r--
2025-04-24 07:57
ripper.rb
2.44
KB
-rw-r--r--
2025-04-24 07:57
securerandom.rb
2.06
KB
-rw-r--r--
2025-04-24 07:57
set.rb
24.94
KB
-rw-r--r--
2025-04-24 07:57
shellwords.rb
7.11
KB
-rw-r--r--
2025-04-24 07:57
singleton.rb
3.94
KB
-rw-r--r--
2025-04-24 07:57
socket.rb
44.04
KB
-rw-r--r--
2025-04-24 07:57
syntax_suggest.rb
74
B
-rw-r--r--
2025-04-24 07:57
tempfile.rb
14.73
KB
-rw-r--r--
2025-04-24 07:57
time.rb
23.74
KB
-rw-r--r--
2025-04-24 07:57
timeout.rb
5.69
KB
-rw-r--r--
2025-04-24 07:57
tmpdir.rb
4.93
KB
-rw-r--r--
2025-04-24 07:57
tsort.rb
14.29
KB
-rw-r--r--
2025-04-24 07:57
un.rb
11.17
KB
-rw-r--r--
2025-04-24 07:57
uri.rb
3.06
KB
-rw-r--r--
2025-04-24 07:57
weakref.rb
1.36
KB
-rw-r--r--
2025-04-24 07:57
yaml.rb
2.13
KB
-rw-r--r--
2025-04-24 07:57
Save
Rename
# frozen-string-literal: true ## # == Manipulates strings like the UNIX Bourne shell # # This module manipulates strings according to the word parsing rules # of the UNIX Bourne shell. # # The shellwords() function was originally a port of shellwords.pl, # but modified to conform to the Shell & Utilities volume of the IEEE # Std 1003.1-2008, 2016 Edition [1]. # # === Usage # # You can use Shellwords to parse a string into a Bourne shell friendly Array. # # require 'shellwords' # # argv = Shellwords.split('three blind "mice"') # argv #=> ["three", "blind", "mice"] # # Once you've required Shellwords, you can use the #split alias # String#shellsplit. # # argv = "see how they run".shellsplit # argv #=> ["see", "how", "they", "run"] # # They treat quotes as special characters, so an unmatched quote will # cause an ArgumentError. # # argv = "they all ran after the farmer's wife".shellsplit # #=> ArgumentError: Unmatched quote: ... # # Shellwords also provides methods that do the opposite. # Shellwords.escape, or its alias, String#shellescape, escapes # shell metacharacters in a string for use in a command line. # # filename = "special's.txt" # # system("cat -- #{filename.shellescape}") # # runs "cat -- special\\'s.txt" # # Note the '--'. Without it, cat(1) will treat the following argument # as a command line option if it starts with '-'. It is guaranteed # that Shellwords.escape converts a string to a form that a Bourne # shell will parse back to the original string, but it is the # programmer's responsibility to make sure that passing an arbitrary # argument to a command does no harm. # # Shellwords also comes with a core extension for Array, Array#shelljoin. # # dir = "Funny GIFs" # argv = %W[ls -lta -- #{dir}] # system(argv.shelljoin + " | less") # # runs "ls -lta -- Funny\\ GIFs | less" # # You can use this method to build a complete command line out of an # array of arguments. # # === Authors # * Wakou Aoyama # * Akinori MUSHA <knu@iDaemons.org> # # === Contact # * Akinori MUSHA <knu@iDaemons.org> (current maintainer) # # === Resources # # 1: {IEEE Std 1003.1-2008, 2016 Edition, the Shell & Utilities volume}[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html] module Shellwords VERSION = "0.2.0" # Splits a string into an array of tokens in the same way the UNIX # Bourne shell does. # # argv = Shellwords.split('here are "two words"') # argv #=> ["here", "are", "two words"] # # Note, however, that this is not a command line parser. Shell # metacharacters except for the single and double quotes and # backslash are not treated as such. # # argv = Shellwords.split('ruby my_prog.rb | less') # argv #=> ["ruby", "my_prog.rb", "|", "less"] # # String#shellsplit is a shortcut for this function. # # argv = 'here are "two words"'.shellsplit # argv #=> ["here", "are", "two words"] def shellsplit(line) words = [] field = String.new line.scan(/\G\s*(?>([^\s\\\'\"]+)|'([^\']*)'|"((?:[^\"\\]|\\.)*)"|(\\.?)|(\S))(\s|\z)?/m) do |word, sq, dq, esc, garbage, sep| raise ArgumentError, "Unmatched quote: #{line.inspect}" if garbage # 2.2.3 Double-Quotes: # # The <backslash> shall retain its special meaning as an # escape character only when followed by one of the following # characters when considered special: # # $ ` " \ <newline> field << (word || sq || (dq && dq.gsub(/\\([$`"\\\n])/, '\\1')) || esc.gsub(/\\(.)/, '\\1')) if sep words << field field = String.new end end words end alias shellwords shellsplit module_function :shellsplit, :shellwords class << self alias split shellsplit end # Escapes a string so that it can be safely used in a Bourne shell # command line. +str+ can be a non-string object that responds to # +to_s+. # # Note that a resulted string should be used unquoted and is not # intended for use in double quotes nor in single quotes. # # argv = Shellwords.escape("It's better to give than to receive") # argv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive" # # String#shellescape is a shorthand for this function. # # argv = "It's better to give than to receive".shellescape # argv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive" # # # Search files in lib for method definitions # pattern = "^[ \t]*def " # open("| grep -Ern -e #{pattern.shellescape} lib") { |grep| # grep.each_line { |line| # file, lineno, matched_line = line.split(':', 3) # # ... # } # } # # It is the caller's responsibility to encode the string in the right # encoding for the shell environment where this string is used. # # Multibyte characters are treated as multibyte characters, not as bytes. # # Returns an empty quoted String if +str+ has a length of zero. def shellescape(str) str = str.to_s # An empty argument will be skipped, so return empty quotes. return "''".dup if str.empty? str = str.dup # Treat multibyte characters as is. It is the caller's responsibility # to encode the string in the right encoding for the shell # environment. str.gsub!(/[^A-Za-z0-9_\-.,:+\/@\n]/, "\\\\\\&") # A LF cannot be escaped with a backslash because a backslash + LF # combo is regarded as a line continuation and simply ignored. str.gsub!(/\n/, "'\n'") return str end module_function :shellescape class << self alias escape shellescape end # Builds a command line string from an argument list, +array+. # # All elements are joined into a single string with fields separated by a # space, where each element is escaped for the Bourne shell and stringified # using +to_s+. # # ary = ["There's", "a", "time", "and", "place", "for", "everything"] # argv = Shellwords.join(ary) # argv #=> "There\\'s a time and place for everything" # # Array#shelljoin is a shortcut for this function. # # ary = ["Don't", "rock", "the", "boat"] # argv = ary.shelljoin # argv #=> "Don\\'t rock the boat" # # You can also mix non-string objects in the elements as allowed in Array#join. # # output = `#{['ps', '-p', $$].shelljoin}` # def shelljoin(array) array.map { |arg| shellescape(arg) }.join(' ') end module_function :shelljoin class << self alias join shelljoin end end class String # call-seq: # str.shellsplit => array # # Splits +str+ into an array of tokens in the same way the UNIX # Bourne shell does. # # See Shellwords.shellsplit for details. def shellsplit Shellwords.split(self) end # call-seq: # str.shellescape => string # # Escapes +str+ so that it can be safely used in a Bourne shell # command line. # # See Shellwords.shellescape for details. def shellescape Shellwords.escape(self) end end class Array # call-seq: # array.shelljoin => string # # Builds a command line string from an argument list +array+ joining # all elements escaped for the Bourne shell and separated by a space. # # See Shellwords.shelljoin for details. def shelljoin Shellwords.join(self) end end