From 09a4b6e8efe39cc30158a5d0dcce1464d667b0dd Mon Sep 17 00:00:00 2001 From: NIHAL T P Date: Sun, 12 Oct 2025 00:42:29 +0530 Subject: [PATCH] Add HostnameCommand to display hostname See #13 --- src/main/java/com/mycmd/App.java | 1 + .../com/mycmd/commands/HostnameCommand.java | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 src/main/java/com/mycmd/commands/HostnameCommand.java diff --git a/src/main/java/com/mycmd/App.java b/src/main/java/com/mycmd/App.java index 1458f14..15c87d0 100644 --- a/src/main/java/com/mycmd/App.java +++ b/src/main/java/com/mycmd/App.java @@ -51,5 +51,6 @@ private static void registerCommands(Map commands) { commands.put("help", new HelpCommand(commands)); commands.put("exit", new ExitCommand()); commands.put("ver", new VersionCommand()); + commands.put("hostname", new HostnameCommand()); } } diff --git a/src/main/java/com/mycmd/commands/HostnameCommand.java b/src/main/java/com/mycmd/commands/HostnameCommand.java new file mode 100644 index 0000000..f8078f9 --- /dev/null +++ b/src/main/java/com/mycmd/commands/HostnameCommand.java @@ -0,0 +1,21 @@ +package com.mycmd.commands; + +import java.net.InetAddress; + +import com.mycmd.Command; +import com.mycmd.ShellContext; + +public class HostnameCommand implements Command { + @Override + public void execute(String[] args, ShellContext context) { + String hostname = System.getenv("COMPUTERNAME"); + if (hostname == null) { + try { + hostname = InetAddress.getLocalHost().getHostName(); + } catch (Exception e) { + hostname = "Unknown Host"; + } + } + System.out.println(hostname); + } +}