]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
systemctl: add -P as short for --value --property=
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Wed, 1 Apr 2020 16:29:00 +0000 (18:29 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 3 Apr 2020 16:24:20 +0000 (18:24 +0200)
man/systemctl.xml
src/systemctl/systemctl.c

index e8d5f9f4d8e2b16cfb9e2b3efeb08887974b1121..fe8b77423a9f298269364dcddfc88a9db0d7aa3a 100644 (file)
@@ -1502,6 +1502,17 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><option>-P</option></term>
+
+        <listitem>
+          <para>Equivalent to <option>--value</option> <option>--property=</option>, i.e. shows the
+          value of the property without the property name or <literal>=</literal>. Note that using
+          <option>-P</option> once will also affect all properties listed with
+          <option>-p</option>/<option>--property=</option>.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><option>-a</option></term>
         <term><option>--all</option></term>
@@ -1627,9 +1638,8 @@ Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output err
         <term><option>--value</option></term>
 
         <listitem>
-          <para>When printing properties with <command>show</command>,
-          only print the value, and skip the property name and
-          <literal>=</literal>.</para>
+          <para>When printing properties with <command>show</command>, only print the value, and skip the
+          property name and <literal>=</literal>. Also see option <option>-P</option> above.</para>
         </listitem>
       </varlistentry>
 
index 58b0fd3688a7fe3ada5a93ec6fb336d7b58746df..dcd93fce17284625cc99b605e6f3d6a289d5a639 100644 (file)
@@ -7966,6 +7966,7 @@ static int systemctl_help(void) {
                "     --state=STATE       List units with particular LOAD or SUB or ACTIVE state\n"
                "     --failed            Shorcut for --state=failed\n"
                "  -p --property=NAME     Show only properties by this name\n"
+               "  -P NAME                Equivalent to --value --property=NAME\n"
                "  -a --all               Show all properties/all units currently in memory,\n"
                "                         including dead/empty ones. To list all units installed\n"
                "                         on the system, use 'list-unit-files' instead.\n"
@@ -8334,7 +8335,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
         /* we default to allowing interactive authorization only in systemctl (not in the legacy commands) */
         arg_ask_password = true;
 
-        while ((c = getopt_long(argc, argv, "ht:p:alqfs:H:M:n:o:iTr.::", options, NULL)) >= 0)
+        while ((c = getopt_long(argc, argv, "ht:p:P:alqfs:H:M:n:o:iTr.::", options, NULL)) >= 0)
 
                 switch (c) {
 
@@ -8389,6 +8390,10 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
                         break;
                 }
 
+                case 'P':
+                        arg_value = true;
+                        _fallthrough_;
+
                 case 'p':
                         /* Make sure that if the empty property list was specified, we won't show any
                            properties. */
@@ -8413,9 +8418,7 @@ static int systemctl_parse_argv(int argc, char *argv[]) {
                                 }
                         }
 
-                        /* If the user asked for a particular
-                         * property, show it to him, even if it is
-                         * empty. */
+                        /* If the user asked for a particular property, show it, even if it is empty. */
                         arg_all = true;
 
                         break;