From: Yu Watanabe Date: Tue, 16 Apr 2024 04:29:23 +0000 (+0900) Subject: networkctl: allow to call 'networkctl cat' without arguments X-Git-Tag: v256-rc1~173^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=78281bd53a75c89b23ad001e52d7d23be72c4850;p=thirdparty%2Fsystemd.git networkctl: allow to call 'networkctl cat' without arguments Then, show networkd.conf and its drop-ins. --- diff --git a/man/networkctl.xml b/man/networkctl.xml index 562ca3c6a7d..5e2126ff218 100644 --- a/man/networkctl.xml +++ b/man/networkctl.xml @@ -454,12 +454,16 @@ s - Service VLAN, m - Two-port MAC Relay (TPMR) cat - FILE|@DEVICE… + FILE|@DEVICE… - Show network configuration files. This command honors - the @ prefix in the same way as edit. + + Show network configuration files. This command honors the @ prefix in the + same way as edit. When no argument is specified, + networkd.conf5 + and its drop-in files will be shown. - + + diff --git a/src/network/networkctl-config-file.c b/src/network/networkctl-config-file.c index 670f1c2fd7b..216e9d49543 100644 --- a/src/network/networkctl-config-file.c +++ b/src/network/networkctl-config-file.c @@ -476,12 +476,16 @@ int verb_edit(int argc, char *argv[], void *userdata) { int verb_cat(int argc, char *argv[], void *userdata) { _cleanup_(sd_netlink_unrefp) sd_netlink *rtnl = NULL; + char **args = strv_skip(argv, 1); int r, ret = 0; pager_open(arg_pager_flags); + if (strv_isempty(args)) + return conf_files_cat(NULL, "systemd/networkd.conf", CAT_FORMAT_HAS_SECTIONS); + bool first = true; - STRV_FOREACH(name, strv_skip(argv, 1)) { + STRV_FOREACH(name, args) { _cleanup_strv_free_ char **dropins = NULL; _cleanup_free_ char *path = NULL; const char *link_config; diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 56fa373b1d2..46f7d503692 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -2982,7 +2982,7 @@ static int help(void) { " reconfigure DEVICES... Reconfigure interfaces\n" " reload Reload .network and .netdev files\n" " edit FILES|DEVICES... Edit network configuration files\n" - " cat FILES|DEVICES... Show network configuration files\n" + " cat [FILES|DEVICES...] Show network configuration files\n" " mask FILES... Mask network configuration files\n" " unmask FILES... Unmask network configuration files\n" " persistent-storage BOOL\n" @@ -3142,7 +3142,7 @@ static int networkctl_main(int argc, char *argv[]) { { "reconfigure", 2, VERB_ANY, VERB_ONLINE_ONLY, verb_reconfigure }, { "reload", 1, 1, VERB_ONLINE_ONLY, verb_reload }, { "edit", 2, VERB_ANY, 0, verb_edit }, - { "cat", 2, VERB_ANY, 0, verb_cat }, + { "cat", 1, VERB_ANY, 0, verb_cat }, { "mask", 2, VERB_ANY, 0, verb_mask }, { "unmask", 2, VERB_ANY, 0, verb_unmask }, { "persistent-storage", 2, 2, 0, verb_persistent_storage },