Welcome!

Linux Containers Authors: Pat Romanski, Liz McMillan, JP Morgenthal, Elizabeth White, Derek Weeks

Related Topics: Linux Containers

Linux Containers: Article

Book Rookery: Wicked Cool Shell Scripts

101 different, fun, and useful shell scripts

In this installment of the Book Rookery, Martin C. Brown speaks with Dave Taylor, author of Wicked Cool Shell Scripts, about all the fun things you can do with shell scripts, whether you're running Linux, Mac OS X, or even a mainstream Unix system.

Can you tell us more about the book and what's inside?

For years I've picked up different programming books and lamented that they weren't fun or interesting. In the shell scripting world, it's even worse, with book after book talking about how to use an "if" statement, but none containing fun, hip, edgy, and even kind of wacky shell scripts that demonstrate all sorts of useful constructs and capabilities, but focus on being interesting. That's exactly what I've done with my book, though. I skip all the how-to and instructional material - after all, there's tons of stuff online nowadays anyway - and jump straight into the content, into listing and explaining 101 different, fun, and useful shell scripts.

What's your favorite script in the book?

Well, I had the most fun figuring out how to get the hangman game (#100) to work in as few lines as possible. A flashback to my early programming life when "toss in more RAM" wasn't the solution to a bloated app! In terms of scripts I use every day, the Mac OS X "titleterm" script (#96) is just part of my everyday activity, and I really like the concepts embodied in the bestcompress script (#38) too.

What's the biggest challenge about using shell scripts?

At the end of the day, shell scripts can only be so sophisticated. My rule of thumb is that if the script is growing to be more than 200 lines or so, it's probably time to migrate to a more sophisticated programming environment. For me, it's just about always a switch into C, but I'm an old-time Unix guy so C is second nature to me.

Shell scripts? Why wouldn't people use Perl?

Perl is a viable option, but what I think is really great about shell scripts is that everyone who uses Unix, Linux, or the terminal in Mac OS X already has 90% of the skills and expertise needed to begin creating their own shell scripts. Further, every line you type into a shell script can be easily tested at a command line, so I'll often start out a script by building a longer and longer pipe of commands, then eventually just copy and paste the entire command sequence into a file and poof a new script is born.

There are lots of different Unix-related books - including a number that you've written - and shell script books. Why another one?

Yes, I admit, I've written Teach Yourself Unix in 24 Hours, Teach Yourself Unix System Administration in 24 Hours, and Unix: Man or Beast?. No, wait. Only the first two titles. Sorry.

More seriously, there are lots of books on Unix and Unix-related topics, but they almost all focus on being either dry reference works (five lines and a table of flags for all 1,600 commands included with your OS, yawn) or on step-by-step tutorials (both of my books fall into this category, the "12,158 simple steps to becoming a Unix expert" style), but there are way too few books that are fun and entertaining, choosing to teach through example and through sheer enthusiasm for the environment. Wicked Cool Shell Scripts endeavors to fill this gap and so far, based on the tremendous response from the Unix and open source community, it's hitting its mark.

What's your take on the SCO lawsuit?

I've always wondered about people who put more energy into dragging innovators back to the status quo than in innovating themselves, and I think that's exactly what the SCO team is doing. Last I checked, they weren't doing anything interesting or innovative with Unix, so why would they want to slow the rest of us down? I won't go into conspiracy theories, but there sure are a lot of curious coincidences in this situation. Ultimately, though, I'd like to see the open source community cut SCO off at the knees: work with legal people to identify exactly what code SCO believes is questionable and then have swarms of programmers en masse toss that code out of the Linux code base and rewrite all of it "black box" so that SCO is left holding... nothing.

And in the meantime, innovative work with GNOME, the new kernel, autodiscovery of network resources, further levels of compatibility with samba, and other innovations are the lifeblood of our community, and they're what I'd like to see everyone continue to focus on developing.

Your book also covers Mac OS X: What OS do you run on your main computer, and how Unix-y do you think Mac OS X really is, when compared to a distro like Fedora?

I have always been a huge fan of Macs, I have to admit. I remember many, many years ago when I first used a 512K Mac (which was loaned to me by the Whole Earth ‘Lectronic Link, of all groups) and realized that it was a whole new way of looking at usability. This was after years of HP's Windex and X (and I remember when Motif was state of the art, gawd!), but it was so clearly superior... I've been a die-hard Mac person ever since and now I have four Macs in my office, including a brand-new dual G5 system. They not only run Mac OS X but my Terminal window is always open too. It's a fabulous pairing of all the power and capabilities of Unix with the GUI and graphical good karma of Aqua, the Mac OS X graphical environment. It rocks!

And finally, what editor do you like, emacs or vi?

Oh boy. I'm a "vi" person and have been forever. Thank you Bill for your work in this area, even if it was oh, so many years ago. However, kudos to the vim team too: vim finally fixes all the annoying limitations of vi.

About the Author
Dave Taylor is author of 15 computer books, including Learning Unix for Mac OS X Panther and Creating Cool Web Sites. You can learn more about Wicked Cool Shell Scripts - and read through the scripts - online at www.intuitive.com/wicked.

More Stories By Martin C. Brown

Martin C. Brown is a former IT director with experience in cross-platform integration. A keen developer, he has produced dynamic sites for blue-chip customers, including HP and Oracle, and is the technical director of Foodware.net. Now a freelance writer and consultant, MC, as he is better known, works closely with Microsoft as an SME; has a regular column on both ServerWatch.com and IBM's DeveloperWorks Grid Computing site; is a core member of the AnswerSquad.com team; and has written books such as XML Processing with Perl, Python and PHP, and the Microsoft IIS 6 Delta Guide.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
"We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
The cloud promises new levels of agility and cost-savings for Big Data, data warehousing and analytics. But it’s challenging to understand all the options – from IaaS and PaaS to newer services like HaaS (Hadoop as a Service) and BDaaS (Big Data as a Service). In her session at @BigDataExpo at @ThingsExpo, Hannah Smalltree, a director at Cazena, provided an educational overview of emerging “as-a-service” options for Big Data in the cloud. This is critical background for IT and data professionals...
Internet of @ThingsExpo has announced today that Chris Matthieu has been named tech chair of Internet of @ThingsExpo 2017 New York The 7th Internet of @ThingsExpo will take place on June 6-8, 2017, at the Javits Center in New York City, New York. Chris Matthieu is the co-founder and CTO of Octoblu, a revolutionary real-time IoT platform recently acquired by Citrix. Octoblu connects things, systems, people and clouds to a global mesh network allowing users to automate and control design flo...
The WebRTC Summit New York, to be held June 6-8, 2017, at the Javits Center in New York City, NY, announces that its Call for Papers is now open. Topics include all aspects of improving IT delivery by eliminating waste through automated business models leveraging cloud technologies. WebRTC Summit is co-located with 20th International Cloud Expo and @ThingsExpo. WebRTC is the future of browser-to-browser communications, and continues to make inroads into the traditional, difficult, plug-in web co...
Amazon has gradually rolled out parts of its IoT offerings, but these are just the tip of the iceberg. In addition to optimizing their backend AWS offerings, Amazon is laying the ground work to be a major force in IoT - especially in the connected home and office. In his session at @ThingsExpo, Chris Kocher, founder and managing director of Grey Heron, explained how Amazon is extending its reach to become a major force in IoT by building on its dominant cloud IoT platform, its Dash Button strat...
Complete Internet of Things (IoT) embedded device security is not just about the device but involves the entire product’s identity, data and control integrity, and services traversing the cloud. A device can no longer be looked at as an island; it is a part of a system. In fact, given the cross-domain interactions enabled by IoT it could be a part of many systems. Also, depending on where the device is deployed, for example, in the office building versus a factory floor or oil field, security ha...
In addition to all the benefits, IoT is also bringing new kind of customer experience challenges - cars that unlock themselves, thermostats turning houses into saunas and baby video monitors broadcasting over the internet. This list can only increase because while IoT services should be intuitive and simple to use, the delivery ecosystem is a myriad of potential problems as IoT explodes complexity. So finding a performance issue is like finding the proverbial needle in the haystack.
The idea of comparing data in motion (at the sensor level) to data at rest (in a Big Data server warehouse) with predictive analytics in the cloud is very appealing to the industrial IoT sector. The problem Big Data vendors have, however, is access to that data in motion at the sensor location. In his session at @ThingsExpo, Scott Allen, CMO of FreeWave, discussed how as IoT is increasingly adopted by industrial markets, there is going to be an increased demand for sensor data from the outermos...
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at 20th Cloud Expo, Ed Featherston, director/senior enterprise architect at Collaborative Consulting, will discuss the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
SYS-CON Events has announced today that Roger Strukhoff has been named conference chair of Cloud Expo and @ThingsExpo 2017 New York. The 20th Cloud Expo and 7th @ThingsExpo will take place on June 6-8, 2017, at the Javits Center in New York City, NY. "The Internet of Things brings trillions of dollars of opportunity to developers and enterprise IT, no matter how you measure it," stated Roger Strukhoff. "More importantly, it leverages the power of devices and the Internet to enable us all to im...
Whether your IoT service is connecting cars, homes, appliances, wearable, cameras or other devices, one question hangs in the balance – how do you actually make money from this service? The ability to turn your IoT service into profit requires the ability to create a monetization strategy that is flexible, scalable and working for you in real-time. It must be a transparent, smoothly implemented strategy that all stakeholders – from customers to the board – will be able to understand and comprehe...
"Once customers get a year into their IoT deployments, they start to realize that they may have been shortsighted in the ways they built out their deployment and the key thing I see a lot of people looking at is - how can I take equipment data, pull it back in an IoT solution and show it in a dashboard," stated Dave McCarthy, Director of Products at Bsquare Corporation, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
What happens when the different parts of a vehicle become smarter than the vehicle itself? As we move toward the era of smart everything, hundreds of entities in a vehicle that communicate with each other, the vehicle and external systems create a need for identity orchestration so that all entities work as a conglomerate. Much like an orchestra without a conductor, without the ability to secure, control, and connect the link between a vehicle’s head unit, devices, and systems and to manage the ...
Everyone knows that truly innovative companies learn as they go along, pushing boundaries in response to market changes and demands. What's more of a mystery is how to balance innovation on a fresh platform built from scratch with the legacy tech stack, product suite and customers that continue to serve as the business' foundation. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, discussed why and how ReadyTalk diverted from healthy revenue and mor...
As data explodes in quantity, importance and from new sources, the need for managing and protecting data residing across physical, virtual, and cloud environments grow with it. Managing data includes protecting it, indexing and classifying it for true, long-term management, compliance and E-Discovery. Commvault can ensure this with a single pane of glass solution – whether in a private cloud, a Service Provider delivered public cloud or a hybrid cloud environment – across the heterogeneous enter...
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
Financial Technology has become a topic of intense interest throughout the cloud developer and enterprise IT communities. Accordingly, attendees at the upcoming 20th Cloud Expo at the Javits Center in New York, June 6-8, 2017, will find fresh new content in a new track called FinTech.
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...