<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Niklas Schlimm's blog]]></title><description><![CDATA[Niklas Schlimm's blog]]></description><link>https://beatlas.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 13:12:53 GMT</lastBuildDate><atom:link href="https://beatlas.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Automate your command line with EasyKey.shellmenu]]></title><description><![CDATA[As a developer, I work with many different tools on the command line. That's why I got into the habit of recording everything in a simple shell menu. That's how I came up with EasyKey.shellmenu. This allows me to easily create shell menus for my tool...]]></description><link>https://beatlas.hashnode.dev/automate-your-command-line-with-easykeyshellmenu</link><guid isPermaLink="true">https://beatlas.hashnode.dev/automate-your-command-line-with-easykeyshellmenu</guid><category><![CDATA[Bash]]></category><category><![CDATA[shell script]]></category><category><![CDATA[Git]]></category><category><![CDATA[kubectl]]></category><dc:creator><![CDATA[Niklas Schlimm]]></dc:creator><pubDate>Wed, 13 Mar 2024 20:07:44 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/xbEVM6oJ1Fs/upload/77f28c4a7d97a8ef2597ec1a46fba622.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a developer, I work with many different tools on the command line. That's why I got into the habit of recording everything in a simple shell menu. That's how I came up with <a target="_blank" href="https://github.com/nschlimm/EasyKey.shellmenu">EasyKey.shellmenu</a>. This allows me to easily create shell menus for my tools. I use it for kubectl, Maven and Git. Here is an example:</p>
<pre><code class="lang-bash"><span class="hljs-built_in">source</span> <span class="hljs-string">"/path/to/shellmenu.sh"</span> 

menuInit <span class="hljs-string">"Maven demo menu"</span> 
  submenuHead <span class="hljs-string">"Life cycle commands:"</span> 
    menuItem c <span class="hljs-string">"Clean all"</span> <span class="hljs-string">"mvn clean:clean"</span> 
    menuItem x <span class="hljs-string">"Compile"</span> <span class="hljs-string">"mvn clean compile"</span> 
    menuItem t <span class="hljs-string">"Test"</span> <span class="hljs-string">"mvn clean test"</span> 
    menuItem i <span class="hljs-string">"Install"</span> <span class="hljs-string">"mvn clean install"</span> 
  submenuHead <span class="hljs-string">"Also usefull:"</span> 
    menuItem d <span class="hljs-string">"Analyze dependencies"</span> <span class="hljs-string">"mvn dependency:analyze"</span> 
    menuItem u <span class="hljs-string">"Clean compile force updates"</span> <span class="hljs-string">"mvn clean compile -U -DskipTests"</span> 
    menuItem e <span class="hljs-string">"Show effective settings"</span> <span class="hljs-string">"mvn help:effective-settings"</span> 
    menuItem r <span class="hljs-string">"Show local repo location"</span> <span class="hljs-string">"mvn help:evaluate -Dexpression=settings.localRepository | grep -v '\[INFO\]'"</span> 
    menuItem l <span class="hljs-string">"Show global settings file location"</span> showGlobalSettingFile 
startMenu
</code></pre>
<p>The snippet creates a simple Maven menu like this:</p>
<p><a target="_blank" href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsejxg6uvzrdrr68bpxx6.png"><img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsejxg6uvzrdrr68bpxx6.png" alt="Image description" /></a></p>
<p>In the repository on Github for <a target="_blank" href="https://github.com/nschlimm/EasyKey.shellmenu">EasyKey.shellmenu</a> there are two more complex examples of menus for Git and kubectl. Check it out an if you like it please leave me a star for sharing it.</p>
]]></content:encoded></item></channel></rss>