* . *
  • About
  • Advertise
  • Privacy & Policy
  • Contact
Tuesday, June 17, 2025
Earth-News
  • Home
  • Business
  • Entertainment
    Elisabeth Moss’ ‘Handmaid’s Tale’ Emmy chances, by the numbers – Yahoo

    Elisabeth Moss’ ‘Handmaid’s Tale’ Emmy chances, by the numbers – Yahoo

    ‘Gangs of London’ Producer Explains Season 3 Deaths, Hypes Season 4 – Citizen Tribune

    Gangs of London’ Producer Reveals Shocking Season 3 Deaths and Teases Exciting Season 4

    The Iconic Missouri Diner That Gives You A Taste Of Live Entertainment With Your Meal – Yahoo

    Savor Delicious Meals While Enjoying Live Entertainment at Missouri’s Iconic Diner

    Keke Palmer Revealed How She Came Up With Her Son Leodis’ Name – Yahoo

    Keke Palmer Shares the Heartwarming Story Behind Her Son Leodis’ Name

    The Media and Entertainment Deal Machine Is Revving Up – WSJ

    The Media and Entertainment Deal Machine Is Gearing Up for Action

    Op-Ed: Data Storage and Protection in Today’s Media & Entertainment Industry – Sports Video Group

    How Data Storage and Protection Are Transforming the Media & Entertainment Industry

  • General
  • Health
  • News

    Cracking the Code: Why China’s Economic Challenges Aren’t Shaking Markets, Unlike America’s” – Bloomberg

    Trump’s Narrow Window to Spread the Truth About Harris

    Trump’s Narrow Window to Spread the Truth About Harris

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Science
  • Sports
  • Technology
    Further Upside For Aeries Technology, Inc (NASDAQ:AERT) Shares Could Introduce Price Risks After 27% Bounce – simplywall.st

    Further Upside For Aeries Technology, Inc (NASDAQ:AERT) Shares Could Introduce Price Risks After 27% Bounce – simplywall.st

    Editor’s Pick: 9 Books on Technology – The Gospel Coalition

    9 Must-Read Books That Will Completely Transform How You Understand Technology

    New Semiconductor Technology Could Supercharge 6G Delivery – SciTechDaily

    Revolutionary Semiconductor Technology Set to Turbocharge 6G Connectivity

    UTC To Host Quantum Technology Workshop June 23-25 – Chattanoogan.com: Breaking News

    Join the Quantum Technology Workshop This June 23-25!

    Rimac Technology Powers the Bugatti Tourbillon with Cutting-Edge Battery and Powertrain Tech – Rimac Newsroom

    Rimac Technology Drives the Bugatti Tourbillon with Revolutionary Battery and Powertrain Innovation

    “Co-creation” boosts commercial technology for dual-use defense applications – Breaking Defense

    “Co-creation” boosts commercial technology for dual-use defense applications – Breaking Defense

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
No Result
View All Result
  • Home
  • Business
  • Entertainment
    Elisabeth Moss’ ‘Handmaid’s Tale’ Emmy chances, by the numbers – Yahoo

    Elisabeth Moss’ ‘Handmaid’s Tale’ Emmy chances, by the numbers – Yahoo

    ‘Gangs of London’ Producer Explains Season 3 Deaths, Hypes Season 4 – Citizen Tribune

    Gangs of London’ Producer Reveals Shocking Season 3 Deaths and Teases Exciting Season 4

    The Iconic Missouri Diner That Gives You A Taste Of Live Entertainment With Your Meal – Yahoo

    Savor Delicious Meals While Enjoying Live Entertainment at Missouri’s Iconic Diner

    Keke Palmer Revealed How She Came Up With Her Son Leodis’ Name – Yahoo

    Keke Palmer Shares the Heartwarming Story Behind Her Son Leodis’ Name

    The Media and Entertainment Deal Machine Is Revving Up – WSJ

    The Media and Entertainment Deal Machine Is Gearing Up for Action

    Op-Ed: Data Storage and Protection in Today’s Media & Entertainment Industry – Sports Video Group

    How Data Storage and Protection Are Transforming the Media & Entertainment Industry

  • General
  • Health
  • News

    Cracking the Code: Why China’s Economic Challenges Aren’t Shaking Markets, Unlike America’s” – Bloomberg

    Trump’s Narrow Window to Spread the Truth About Harris

    Trump’s Narrow Window to Spread the Truth About Harris

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    Israel-Gaza war live updates: Hamas leader Ismail Haniyeh assassinated in Iran, group says

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    PAP Boss to Niger Delta Youths, Stay Away from the Protest

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Court Restricts Protests In Lagos To Freedom, Peace Park

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Fans React to Jazz Jennings’ Inspiring Weight Loss Journey

    Trending Tags

    • Trump Inauguration
    • United Stated
    • White House
    • Market Stories
    • Election Results
  • Science
  • Sports
  • Technology
    Further Upside For Aeries Technology, Inc (NASDAQ:AERT) Shares Could Introduce Price Risks After 27% Bounce – simplywall.st

    Further Upside For Aeries Technology, Inc (NASDAQ:AERT) Shares Could Introduce Price Risks After 27% Bounce – simplywall.st

    Editor’s Pick: 9 Books on Technology – The Gospel Coalition

    9 Must-Read Books That Will Completely Transform How You Understand Technology

    New Semiconductor Technology Could Supercharge 6G Delivery – SciTechDaily

    Revolutionary Semiconductor Technology Set to Turbocharge 6G Connectivity

    UTC To Host Quantum Technology Workshop June 23-25 – Chattanoogan.com: Breaking News

    Join the Quantum Technology Workshop This June 23-25!

    Rimac Technology Powers the Bugatti Tourbillon with Cutting-Edge Battery and Powertrain Tech – Rimac Newsroom

    Rimac Technology Drives the Bugatti Tourbillon with Revolutionary Battery and Powertrain Innovation

    “Co-creation” boosts commercial technology for dual-use defense applications – Breaking Defense

    “Co-creation” boosts commercial technology for dual-use defense applications – Breaking Defense

    Trending Tags

    • Nintendo Switch
    • CES 2017
    • Playstation 4 Pro
    • Mark Zuckerberg
No Result
View All Result
Earth-News
No Result
View All Result
Home Technology

Ruby: A great language for shell scripts

June 23, 2024
in Technology
Ruby: A great language for shell scripts
Share on FacebookShare on Twitter

4 minute read

Intro

Ruby is so associated with its most famous framework, Rails, that many people
forget how amazing this language is. I mean, I know a lot of people who says “I
don’t like Ruby” and when I ask why, they say something about Rails. Personally,
I consider Ruby one of my favorite programming languages, and the last time I
touched any Rails code was 7 years ago…

So, if I don’t use Rails anymore, what I do with Ruby? Well, Ruby is a very rich
and complete language, perhaps even more than its more famous relative, Python
(sadly, I can’t say the same about its ecosystem…). And one of the things that
I think that Ruby is better than Python is using it for writing shell
scripts.

That is, most of the cases Bash for me is enough, but if the script starts to
become complex, I switch to Ruby. Here I show the main features that might be
interesting for this case of use.

Goals

Show features of Ruby that are useful for writing shell scripts;

Compare Ruby to Bash and Python;

Non-goals

Replace entirely Bash scripts by Ruby scripts.

Feature 1: calling external commands

The first thing that you expect of language for writing shell scripts is to
call external commands. In Ruby, you do that using backticks (`):

That’s it! You don’t need system, popen or something like that, or import
a library. And if you set that to a variable, you’ll have the output of the
command:

Note: if you want to use system (e.g. if you want the output to be
redirected to stdout instead of a string) or popen (if you want to read or
write data from or to a subprocess), those are also available in Ruby!

Feature 2: status code

This is real quick: in Ruby, the variable $? contains the status code of the
last executed command. So, it’s really close to Bash:

`true`
puts $? # 0

`false`
puts $? # 1

Feature 3: it’s a typed language

Ruby is not a statically typed language, but it has types. In fact, it is a
object-oriented language, and it follow strictly the OOP paradigm (more than
Python, in some aspects even more than Java!). Bash, on the other hand,
everything is a string, and that leads to several safety issues…

total_lines=`wc -l my_file`.to_i # an int containing the number of lines of a file
half=total_lines.div 2 # integer division
puts `head -n #{half} my_file` # print half of the file

Feature 4: functional constructions

Ruby implements map, select (filter), reduce, flat_map and other
functional operations as methods. So, you can, for example, apply a map over a
command output:

puts `ls`.lines.map { |name| name.strip.length } # prints the lengths of the filenames

Note for Git lovers: I know that I could do that only using git branch
–show-current, but that was the first example that came in my mind to
demonstrate the use of regex…

Feature 5: regex matching

Regex is a type in Ruby, and operations using regex are built-in in the
language. Look at this example, where we get the current git branch name calling
git branch:

current_branch_regex=/^* (S+)/
output_lines=`git branch`.lines
output_lines.each do |line|
if line=~ current_branch_regex # match the string with the regex
puts $1 # prints the match of the first group
end
end

Feature 6: easy threads

If want to work with multiple threads, Ruby is perhaps the one of the easiest
language to do it. Look:

thread=Thread.new do
puts “I’m in a thread!”
end

puts “I’m outside a thread!”

thread.join

So, it can be useful for, for example, downloading several files at the same time:

(1..10).map do |i| # iterates from i=1 to i=10, inclusive
Thread.new do
`wget http://my_site.com/file_#{i}` # you can use variables inside commands!
end
end.each { |thread| thread.join } # do/end and curly braces have the same purpose!

Feature 7: builtin file and dir operations

In Ruby, all the file operations are methods of the File class and all the
directory operations are methods of the Dir class, as it should be. In Python,
for example, if you want to read a file you use open, but if you want to
delete it you need to use os.remove, and os does a lot of other things that are
not related to files.

So, in Ruby:

exists=File.exists? ‘My File’ # methods that return booleans end in ?
file_content=File.open(‘My File’).read
File.delete ‘My File’ # parentheses are optional if it’s not ambiguous

Conclusion

I hope that after reading this short text you consider using Ruby as a
replacement for complex shell scripts. I mean, I don’t expect that you drop
Bash entirely, but consider using Ruby when things get complex. Of course, you
can do that in Python, Perl, even JS, but, as my personal choice I think that
Ruby is the most complete and easier Bash replacement for that!

If you find something wrong, or if you have any suggestion, please let me know
here.

>>> Read full article>>>
Copyright for syndicated content belongs to the linked Source : Hacker News – https://lucasoshiro.github.io/posts-en/2024-06-17-ruby-shellscript/

Tags: languageShelltechnology
Previous Post

OpenEMR: Open-source medical record software

Next Post

The manager’s unbearable lack of endorphins

Safran and Bombardier announce defense technology innovation partnership – Safran

Safran and Bombardier Join Forces to Revolutionize Defense Technology

June 16, 2025
Bee-lieve the buzz: Honeybees help Delaware agriculture, ecology – Bay to Bay News

Bee-lieve the buzz: Honeybees help Delaware agriculture, ecology – Bay to Bay News

June 16, 2025
NCSE welcomes Britt Miller – National Center for Science Education

NCSE welcomes Britt Miller – National Center for Science Education

June 16, 2025
Science is on the federal chopping block and North Carolinians will suffer – NC Newsline

Federal Science Funding Slashed: How North Carolinians Will Be Impacted

June 16, 2025
Does yard work count as exercise? UI expert provides tips to maintain a healthy lifestyle during busy summer months – Iowa Now

Is Yard Work Really Exercise? Expert Tips for Staying Healthy During Busy Summer Months

June 16, 2025
Insurers must promote the blue economy – Eco-Business

Insurers must promote the blue economy – Eco-Business

June 16, 2025
Elisabeth Moss’ ‘Handmaid’s Tale’ Emmy chances, by the numbers – Yahoo

Elisabeth Moss’ ‘Handmaid’s Tale’ Emmy chances, by the numbers – Yahoo

June 16, 2025
Tariffs Are Driving 2026 Health Insurance Premiums Up – KFF

Tariffs Are Driving 2026 Health Insurance Premiums Up – KFF

June 16, 2025
Minnesota, Known for Bipartisan Civility, Reels After Attack on Lawmakers – The New York Times

Minnesota, Known for Bipartisan Civility, Reels After Attack on Lawmakers – The New York Times

June 16, 2025
FDA Grants Sarepta Therapeutics Platform Technology Designation to Expedite Gene Therapy Reviews – geneonline.com

FDA Accelerates Gene Therapy Reviews with Breakthrough Platform Technology for Sarepta Therapeutics

June 16, 2025

Categories

Archives

June 2025
MTWTFSS
 1
2345678
9101112131415
16171819202122
23242526272829
30 
« May    
Earth-News.info

The Earth News is an independent English-language daily published Website from all around the World News

Browse by Category

  • Business (20,132)
  • Ecology (689)
  • Economy (703)
  • Entertainment (21,606)
  • General (15,413)
  • Health (9,744)
  • Lifestyle (708)
  • News (22,149)
  • People (705)
  • Politics (710)
  • Science (15,921)
  • Sports (21,202)
  • Technology (15,689)
  • World (683)

Recent News

Safran and Bombardier announce defense technology innovation partnership – Safran

Safran and Bombardier Join Forces to Revolutionize Defense Technology

June 16, 2025
Bee-lieve the buzz: Honeybees help Delaware agriculture, ecology – Bay to Bay News

Bee-lieve the buzz: Honeybees help Delaware agriculture, ecology – Bay to Bay News

June 16, 2025
  • About
  • Advertise
  • Privacy & Policy
  • Contact

© 2023 earth-news.info

No Result
View All Result

© 2023 earth-news.info

No Result
View All Result

© 2023 earth-news.info

Go to mobile version