]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: drop whitespace after shell redirection operators
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 5 Feb 2023 20:41:24 +0000 (21:41 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 6 Feb 2023 08:19:04 +0000 (09:19 +0100)
(The one case that is left unchanged is '< <(subcommand)'.)

This way, the style with no gap was already dominant. This way, the reader
immediately knows that ' < ' is a comparison operator and ' << ' is a shift.

In a few cases, replace custom EOF replacement by just EOF. There is no point
in using someting like "_EOL" unless "EOF" appears in the text.

38 files changed:
.github/workflows/gather-pr-metadata.yml
.semaphore/semaphore-runner.sh
docs/HACKING.md
man/fido2-crypttab.sh
man/loader.conf.xml
man/systemd-creds.xml
man/systemd-dissect.xml
man/systemd-measure.xml
man/systemd-run.xml
man/tpm2-crypttab.sh
man/yubikey-crypttab.sh
src/udev/generate-keyboard-keys-gperf.sh
test/TEST-24-CRYPTSETUP/test.sh
test/TEST-77-OPENFILE/test.sh
test/mkosi.build.networkd-test
test/test-exec-deserialization.py
test/test-execute/exec-standardinput-data.service
test/test-functions
test/units/testsuite-26.sh
test/units/testsuite-29.sh
test/units/testsuite-41.sh
test/units/testsuite-43.sh
test/units/testsuite-45.sh
test/units/testsuite-50.sh
test/units/testsuite-54.sh
test/units/testsuite-57-short-lived.sh
test/units/testsuite-58.sh
test/units/testsuite-60.sh
test/units/testsuite-62.sh
test/units/testsuite-66-deviceisolation.service
test/units/testsuite-67.sh
test/units/testsuite-70.sh
test/units/testsuite-71.sh
test/units/testsuite-73.sh
test/units/testsuite-76.sh
test/units/testsuite-77.sh
tools/debug-sd-boot.sh
tools/update-hwdb-autosuspend.sh

index 5f0a5abdccdcd2fedb1b4ad8db5e6c9cb9d6cc86..50c0aa618959d43c8661cedb44f2d4ea26355c94 100644 (file)
@@ -27,7 +27,7 @@ jobs:
       - name: Store PR number in file
         run: |
           mkdir -p ./${{ env.PULL_REQUEST_METADATA_DIR }}
-          echo ${{ github.event.number }} > ./${{ env.PULL_REQUEST_METADATA_DIR }}/${{ env.PULL_REQUEST_METADATA_FILE }}
+          echo ${{ github.event.number }} >./${{ env.PULL_REQUEST_METADATA_DIR }}/${{ env.PULL_REQUEST_METADATA_FILE }}
 
       - name: Upload Pull Request Metadata artifact
         uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce
index b0d32bd136bebec69bc86244dc1d25ce5f04b6ad..1ceaee1f8d145eadefc0203a0c0c1cfa3ceb4b6a 100755 (executable)
@@ -28,14 +28,14 @@ create_container() {
 
     # enable source repositories so that apt-get build-dep works
     sudo lxc-attach -n "$CONTAINER" -- sh -ex <<EOF
-sed 's/^deb/deb-src/' /etc/apt/sources.list >> /etc/apt/sources.list.d/sources.list
+sed 's/^deb/deb-src/' /etc/apt/sources.list >>/etc/apt/sources.list.d/sources.list
 # We might attach the console too soon
 while ! systemctl --quiet --wait is-system-running; do sleep 1; done
 # Manpages database trigger takes a lot of time and is not useful in a CI
 echo 'man-db man-db/auto-update boolean false' | debconf-set-selections
 # Speed up dpkg, image is thrown away after the test
 mkdir -p /etc/dpkg/dpkg.cfg.d/
-echo 'force-unsafe-io' > /etc/dpkg/dpkg.cfg.d/unsafe_io
+echo 'force-unsafe-io' >/etc/dpkg/dpkg.cfg.d/unsafe_io
 # For some reason, it is necessary to run this manually or the interface won't be configured
 # Note that we avoid networkd, as some of the tests will break it later on
 dhclient
@@ -74,7 +74,7 @@ for phase in "${PHASES[@]}"; do
 
             # craft changelog
             UPSTREAM_VER="$(git describe | sed 's/^v//;s/-/./g')"
-            cat << EOF > debian/changelog.new
+            cat <<EOF >debian/changelog.new
 systemd (${UPSTREAM_VER}.0) UNRELEASED; urgency=low
 
   * Automatic build for upstream test
@@ -92,7 +92,7 @@ EOF
             # enable more unit tests
             sed -i '/^CONFFLAGS =/ s/=/= --werror -Dtests=unsafe -Dsplit-usr=true -Dslow-tests=true -Dfuzz-tests=true -Dman=true /' debian/rules
             # no orig tarball
-            echo '1.0' > debian/source/format
+            echo '1.0' >debian/source/format
 
             # build source package
             dpkg-buildpackage -S -I -I"$(basename "$CACHE_DIR")" -d -us -uc -nc
index 96133683f1d7cef53202794e311c333483ef3125..2ce7dea05dcc55789602c5ca575f3f92c0c1776b 100644 (file)
@@ -206,7 +206,7 @@ achieve this, create a script with the following contents in systemd's project d
 
 ```sh
 #!/usr/bin/env sh
-tee mkosi-clangd.build > /dev/null << EOF
+tee mkosi-clangd.build >/dev/null <<EOF
 #!/usr/bin/env sh
 exec clangd \\
         --compile-commands-dir=/root/build \\
index acb2e177ef4073b283027d1e8e387e4082b915de..b584a13bdfbdfd5c7f479abbfeeb9a361c1f9112 100644 (file)
@@ -9,4 +9,4 @@ sudo /usr/lib/systemd/systemd-cryptsetup attach mytest /dev/sdXn - fido2-device=
 
 # If that worked, let's now add the same line persistently to /etc/crypttab,
 # for the future.
-sudo bash -c 'echo "mytest /dev/sdXn - fido2-device=auto" >> /etc/crypttab'
+sudo bash -c 'echo "mytest /dev/sdXn - fido2-device=auto" >>/etc/crypttab'
index 22f4644d9e8a370fbd864ca95743801fec297004..c6cc4ffe37f213ffb0ab9fe210e51c76f9f0ad14 100644 (file)
@@ -285,17 +285,17 @@ for key in MicWinProPCA2011_2011-10-19.crt MicCorUEFCA2011_2011-06-27.crt MicCor
 done
 
 # Optionally add Microsoft Windows Production CA 2011 (needed to boot into Windows).
-cat MicWinProPCA2011_2011-10-19.esl >> db.esl
+cat MicWinProPCA2011_2011-10-19.esl >>db.esl
 
 # Optionally add Microsoft Corporation UEFI CA 2011 for firmware drivers / option ROMs
 # and third-party boot loaders (including shim). This is highly recommended on real
 # hardware as not including this may soft-brick your device (see next paragraph).
-cat MicCorUEFCA2011_2011-06-27.esl >> db.esl
+cat MicCorUEFCA2011_2011-06-27.esl >>db.esl
 
 # Optionally add Microsoft Corporation KEK CA 2011. Recommended if either of the
 # Microsoft keys is used as the official UEFI revocation database is signed with this
 # key. The revocation database can be updated with <citerefentry><refentrytitle>fwupdmgr</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
-cat MicCorKEKCA2011_2011-06-24.esl >> KEK.esl
+cat MicCorKEKCA2011_2011-06-24.esl >>KEK.esl
 
 attr=NON_VOLATILE,RUNTIME_ACCESS,BOOTSERVICE_ACCESS,TIME_BASED_AUTHENTICATED_WRITE_ACCESS
 sbvarsign --attr ${attr} --key PK.key --cert PK.crt --output PK.auth PK PK.esl
index 49d78ee7fcce73391e477a8b6457efca6f7d894a..b16ee09ceec6b227b2dec9bc47988b18c56b6aa8 100644 (file)
@@ -436,7 +436,7 @@ SetCredentialEncrypted=mysql-password: \
       <filename>xyz.service</filename>:</para>
 
       <programlisting># mkdir -p /etc/systemd/system/xyz.service.d
-# systemd-ask-password -n | systemd-creds encrypt --name=mysql-password -p - - > /etc/systemd/system/xyz.service.d/50-password.conf
+# systemd-ask-password -n | systemd-creds encrypt --name=mysql-password -p - - >/etc/systemd/system/xyz.service.d/50-password.conf
 # systemctl daemon-reload
 # systemctl restart xyz.service</programlisting>
     </example>
index 3b014b47b8831a6bf8aa57f9f9f13f83f6ff80ab..6549aa92c856c25853a5118d2c3dff9e41f60f67 100644 (file)
     <example>
       <title>Generate a tarball from an OS disk image</title>
 
-      <programlisting>$ systemd-dissect --with foo.raw tar cz . > foo.tar.gz</programlisting>
+      <programlisting>$ systemd-dissect --with foo.raw tar cz . >foo.tar.gz</programlisting>
     </example>
   </refsect1>
 
index 6c53d61d54576f7927947b5b332134e8785ae2f0..05966f264fb808d45f2ebedb74de30e9fdec4062 100644 (file)
      --bank=sha1 \
      --bank=sha256 \
      --private-key=tpm2-pcr-private.pem \
-     --public-key=tpm2-pcr-public.pem > tpm2-pcr-signature.json
+     --public-key=tpm2-pcr-public.pem >tpm2-pcr-signature.json
 # ukify --output foo.efi \
      --os-release @os-release.txt \
      --cmdline @cmdline.txt \
index 0c91d61d7634a676e55c1ae8be54b5f2cfbbf4d3..cd9e50d5b8940238529faeee0b61901483ffc588 100644 (file)
         to the service processes as-is. If the service runs with different privileges than
         <command>systemd-run</command>, this means the service might not be able to re-open the passed file
         descriptors, due to normal file descriptor access restrictions. If the invoked process is a shell script that
-        uses the <command>echo "hello" > /dev/stderr</command> construct for writing messages to stderr, this might
+        uses the <command>echo "hello" >/dev/stderr</command> construct for writing messages to stderr, this might
         cause problems, as this only works if stderr can be re-opened. To mitigate this use the construct <command>echo
         "hello" >&amp;2</command> instead, which is mostly equivalent and avoids this pitfall.</para></listitem>
       </varlistentry>
index d109eb40cdf5d72e498b3237ec748a1eca2501c5..c2c7405b266820747c38e9d24275667348fd45c2 100644 (file)
@@ -9,4 +9,4 @@ sudo /usr/lib/systemd/systemd-cryptsetup attach mytest /dev/sdXn - tpm2-device=a
 
 # If that worked, let's now add the same line persistently to /etc/crypttab,
 # for the future.
-sudo bash -c 'echo "mytest /dev/sdXn - tpm2-device=auto" >> /etc/crypttab'
+sudo bash -c 'echo "mytest /dev/sdXn - tpm2-device=auto" >>/etc/crypttab'
index ce9c2917c5c4d8553d9287819919ae3fa70f286d..d74dfa5cc294f3d38a799b6296bdd2b0af528bfe 100644 (file)
@@ -25,4 +25,4 @@ sudo /usr/lib/systemd/systemd-cryptsetup attach mytest /dev/sdXn - pkcs11-uri=au
 
 # If that worked, let's now add the same line persistently to /etc/crypttab,
 # for the future.
-sudo bash -c 'echo "mytest /dev/sdXn - pkcs11-uri=auto" >> /etc/crypttab'
+sudo bash -c 'echo "mytest /dev/sdXn - pkcs11-uri=auto" >>/etc/crypttab'
index 1db4cbe47de5ae5ad367bd4d58a1b6dd707be8e1..9f4364c1725c24f1519ba47b17a898294c05019e 100755 (executable)
@@ -17,4 +17,4 @@ _Pragma(\"GCC diagnostic ignored \\\"-Wimplicit-fallthrough\\\"\")\n\
 
     /^KEY_/ { print tolower(substr($1 ,5)) ", " $1 }
     { print tolower($1) ", " $1 }
-' < "${1:?}"
+' <"${1:?}"
index b81b811654f6077c9082e77da431044bdc4794db..87ffaea453998d7795ba832ec72e4fa9719f7006 100755 (executable)
@@ -69,7 +69,7 @@ EOF
 
     # Forward journal messages to the console, so we have something
     # to investigate even if we fail to mount the encrypted /var
-    echo ForwardToConsole=yes >> "$initdir/etc/systemd/journald.conf"
+    echo ForwardToConsole=yes >>"$initdir/etc/systemd/journald.conf"
 
     # If $INITRD wasn't provided explicitly, generate a custom one with dm-crypt
     # support
index e4349997a0ab3e1f7683a0b268e28850fd6db33a..92afa4c716af7d580de7c46cea7e79bdedfe78b3 100755 (executable)
@@ -9,8 +9,8 @@ TEST_DESCRIPTION="Openfile tests"
 
 test_append_files() {
     local workspace="${1:?}"
-    echo "Open" > "$workspace/test-77-open.dat"
-    echo "File" > "$workspace/test-77-file.dat"
+    echo "Open" >"$workspace/test-77-open.dat"
+    echo "File" >"$workspace/test-77-file.dat"
 }
 
 do_test "$@"
index ea97d012fa453b970f3128af89b93eb04f84c53b..25c935ed61133fc02f71355f6b11b15585985570 100755 (executable)
@@ -9,7 +9,7 @@ mkdir -p "$DESTDIR"/usr/local/bin
 cp "$SRCDIR"/test/networkd-test.py "$DESTDIR"/usr/local/bin/networkd-test.py
 
 mkdir -p "$DESTDIR"/etc/systemd/system
-cat > "$DESTDIR"/etc/systemd/system/networkd-test.service <<EOF
+cat >"$DESTDIR"/etc/systemd/system/networkd-test.service <<EOF
 [Unit]
 Description=networkd test service
 SuccessAction=exit
index a5afaf547ca73c1cd5fdf3519b635c776c3d050d..7fbf9a4d1714c4d330368dce8f3d88ee979c126e 100755 (executable)
@@ -36,14 +36,14 @@ class ExecutionResumeTest(unittest.TestCase):
         [Service]
         Type=oneshot
         ExecStart=/bin/sleep 3
-        ExecStart=/bin/bash -c "echo foo >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo foo >>{self.output_file}"
         '''
         self.unit_files[InstallChange.NO_CHANGE] = unit_file_content
 
         unit_file_content = f'''
         [Service]
         Type=oneshot
-        ExecStart=/bin/bash -c "echo foo >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo foo >>{self.output_file}"
         ExecStart=/bin/sleep 3
         '''
         self.unit_files[InstallChange.LINES_SWAPPED] = unit_file_content
@@ -51,9 +51,9 @@ class ExecutionResumeTest(unittest.TestCase):
         unit_file_content = f'''
         [Service]
         Type=oneshot
-        ExecStart=/bin/bash -c "echo bar >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo bar >>{self.output_file}"
         ExecStart=/bin/sleep 3
-        ExecStart=/bin/bash -c "echo foo >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo foo >>{self.output_file}"
         '''
         self.unit_files[InstallChange.COMMAND_ADDED_BEFORE] = unit_file_content
 
@@ -61,26 +61,26 @@ class ExecutionResumeTest(unittest.TestCase):
         [Service]
         Type=oneshot
         ExecStart=/bin/sleep 3
-        ExecStart=/bin/bash -c "echo foo >> {self.output_file}"
-        ExecStart=/bin/bash -c "echo bar >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo foo >>{self.output_file}"
+        ExecStart=/bin/bash -c "echo bar >>{self.output_file}"
         '''
         self.unit_files[InstallChange.COMMAND_ADDED_AFTER] = unit_file_content
 
         unit_file_content = f'''
         [Service]
         Type=oneshot
-        ExecStart=/bin/bash -c "echo baz >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo baz >>{self.output_file}"
         ExecStart=/bin/sleep 3
-        ExecStart=/bin/bash -c "echo foo >> {self.output_file}"
-        ExecStart=/bin/bash -c "echo bar >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo foo >>{self.output_file}"
+        ExecStart=/bin/bash -c "echo bar >>{self.output_file}"
         '''
         self.unit_files[InstallChange.COMMAND_INTERLEAVED] = unit_file_content
 
         unit_file_content = f'''
         [Service]
         Type=oneshot
-        ExecStart=/bin/bash -c "echo bar >> {self.output_file}"
-        ExecStart=/bin/bash -c "echo baz >> {self.output_file}"
+        ExecStart=/bin/bash -c "echo bar >>{self.output_file}"
+        ExecStart=/bin/bash -c "echo baz >>{self.output_file}"
         '''
         self.unit_files[InstallChange.REMOVAL] = unit_file_content
 
index 83db6098c02e9a44c70ab576ff986d23eb32a1af..838fea7d047e0e9107b82a08f14db67cbcd942e7 100644 (file)
@@ -3,7 +3,7 @@
 Description=Test for StandardInputText= and StandardInputData=
 
 [Service]
-ExecStart=/bin/sh -x -c 'd=$$(mktemp -d -p /tmp); echo -e "this is a test\nand this is more\nsomething encoded!\nsomething   in multiple lines\nand some more\nand a more bas64 data\nsomething with strange\nembedded\tcharacters\nand something with a exec-stdin-data.service specifier" > $d/text ; cmp $d/text ; rm -rf $d'
+ExecStart=/bin/sh -x -c 'd=$$(mktemp -d -p /tmp); echo -e "this is a test\nand this is more\nsomething encoded!\nsomething   in multiple lines\nand some more\nand a more bas64 data\nsomething with strange\nembedded\tcharacters\nand something with a exec-stdin-data.service specifier" >$d/text ; cmp $d/text ; rm -rf $d'
 Type=oneshot
 StandardInput=data
 StandardInputText=this is a test
index c4c192885e649a981ef88853e77d6f30e03509a3..d60a9bfedd13f91633fffb0a170df280671a8d34 100644 (file)
@@ -691,7 +691,7 @@ EOF
 #!/bin/bash
 set -e
 test -e /usr/lib/os-release
-echo bar > \${STATE_DIRECTORY}/foo
+echo bar >\${STATE_DIRECTORY}/foo
 cat /usr/lib/extension-release.d/extension-release.app0
 EOF
         chmod +x "$initdir/opt/script0.sh"
@@ -717,7 +717,7 @@ EOF
 #!/bin/bash
 set -e
 test -e /usr/lib/os-release
-echo baz > \${STATE_DIRECTORY}/foo
+echo baz >\${STATE_DIRECTORY}/foo
 cat /usr/lib/extension-release.d/extension-release.app2
 EOF
         chmod +x "$initdir/opt/script1.sh"
index ee84447d90f795fec9e812aa64ce94e7e3f3c565..2d438e2748414225e3fc80474125bdefcde084ce 100755 (executable)
@@ -53,11 +53,11 @@ echo "disable $UNIT_NAME" >/run/systemd/system-preset/99-systemd-test.preset
 EDITOR='true' script -ec 'systemctl edit "$UNIT_NAME"' /dev/null
 [ ! -e "/etc/systemd/system/$UNIT_NAME.d/override.conf" ]
 
-printf '%s\n' '[Service]' 'ExecStart=' 'ExecStart=sleep 10d' > "+4"
+printf '%s\n' '[Service]' 'ExecStart=' 'ExecStart=sleep 10d' >"+4"
 EDITOR='mv' script -ec 'systemctl edit "$UNIT_NAME"' /dev/null
 printf '%s\n' '[Service]' 'ExecStart=' 'ExecStart=sleep 10d' | cmp - "/etc/systemd/system/$UNIT_NAME.d/override.conf"
 
-printf '%b'   '[Service]\n' 'ExecStart=\n' 'ExecStart=sleep 10d' > "+4"
+printf '%b'   '[Service]\n' 'ExecStart=\n' 'ExecStart=sleep 10d' >"+4"
 EDITOR='mv' script -ec 'systemctl edit "$UNIT_NAME"' /dev/null
 printf '%s\n' '[Service]'   'ExecStart='   'ExecStart=sleep 10d' | cmp - "/etc/systemd/system/$UNIT_NAME.d/override.conf"
 
index 717a7ee3d0d05958b1048f14f05f63eb69bb55f4..343fd9eb22112b3a10a6f9b3d85af6df0f84c061 100755 (executable)
@@ -163,7 +163,7 @@ mount /usr/share/minimal_0.raw /tmp/rootdir
 # Fix up os-release to drop the valid PORTABLE_SERVICES field (because we are
 # bypassing the sysext logic in portabled here it will otherwise not see the
 # extensions additional valid prefix)
-grep -v "^PORTABLE_PREFIXES=" /tmp/rootdir/etc/os-release > /tmp/os-release-fix/etc/os-release
+grep -v "^PORTABLE_PREFIXES=" /tmp/rootdir/etc/os-release >/tmp/os-release-fix/etc/os-release
 
 mount -t overlay overlay -o lowerdir=/tmp/os-release-fix:/tmp/app1:/tmp/rootdir /tmp/overlay
 
index 13bc684c2d1ba3a0d52d25694ea14a3bc89b4951..a82258821f4dccbb8fabc9ce1b2f189a4f4c6065 100755 (executable)
@@ -31,7 +31,7 @@ systemd-run --unit=two \
             -p StartLimitBurst=3 \
             -p Type=oneshot \
             -p Restart=on-failure \
-            -p ExecStart="/bin/bash -c \"printf a >>  $TMP_FILE\"" /bin/bash -c "exit 1" \
+            -p ExecStart="/bin/bash -c \"printf a >>$TMP_FILE\"" /bin/bash -c "exit 1" \
     && { echo 'unexpected success'; exit 1; }
 
 # wait for at least 3 restarts
index fec936e999ba69e6fb69141fbf9ff28c2952111d..40b94fdb48635d35aaf8b645d5fef5c814b1408c 100755 (executable)
@@ -106,7 +106,7 @@ runas testuser systemd-run --wait --user --unit=test-clock \
 
 runas testuser systemd-run --wait --user --unit=test-kernel-tunable \
     -p PrivateUsers=yes -p ProtectKernelTunables=yes \
-    sh -c "echo 0 > /proc/sys/user/max_user_namespaces" \
+    sh -c "echo 0 >/proc/sys/user/max_user_namespaces" \
     && { echo 'unexpected success'; exit 1; }
 
 runas testuser systemd-run --wait --user --unit=test-kernel-mod \
index 24e888c587923f8590dabc1fe6b0560958b5d1c6..ebc6c7c1444252f252f659ecfb8adb30808d2dc9 100755 (executable)
@@ -86,7 +86,7 @@ LOCAL"
     check_adjtime_not_exist
 
     echo 'UTC set in adjtime file'
-    printf '0.0 0 0\n0\nUTC\n' > /etc/adjtime
+    printf '0.0 0 0\n0\nUTC\n' >/etc/adjtime
     timedatectl set-local-rtc 0
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
@@ -97,7 +97,7 @@ UTC"
 LOCAL"
 
     echo 'non-zero values in adjtime file'
-    printf '0.1 123 0\n0\nLOCAL\n' > /etc/adjtime
+    printf '0.1 123 0\n0\nLOCAL\n' >/etc/adjtime
     timedatectl set-local-rtc 0
     assert_eq "$(cat /etc/adjtime)" "0.1 123 0
 0
@@ -108,7 +108,7 @@ UTC"
 LOCAL"
 
     echo 'fourth line adjtime file'
-    printf '0.0 0 0\n0\nLOCAL\nsomethingelse\n' > /etc/adjtime
+    printf '0.0 0 0\n0\nLOCAL\nsomethingelse\n' >/etc/adjtime
     timedatectl set-local-rtc 0
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
@@ -121,60 +121,60 @@ LOCAL
 somethingelse"
 
     echo 'no final newline in adjtime file'
-    printf '0.0 0 0\n0\nUTC' > /etc/adjtime
+    printf '0.0 0 0\n0\nUTC' >/etc/adjtime
     timedatectl set-local-rtc 0
     check_adjtime_not_exist
-    printf '0.0 0 0\n0\nUTC' > /etc/adjtime
+    printf '0.0 0 0\n0\nUTC' >/etc/adjtime
     timedatectl set-local-rtc 1
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
 LOCAL"
 
     echo 'only one line in adjtime file'
-    printf '0.0 0 0\n' > /etc/adjtime
+    printf '0.0 0 0\n' >/etc/adjtime
     timedatectl set-local-rtc 0
     check_adjtime_not_exist
-    printf '0.0 0 0\n' > /etc/adjtime
+    printf '0.0 0 0\n' >/etc/adjtime
     timedatectl set-local-rtc 1
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
 LOCAL"
 
     echo 'only one line in adjtime file, no final newline'
-    printf '0.0 0 0' > /etc/adjtime
+    printf '0.0 0 0' >/etc/adjtime
     timedatectl set-local-rtc 0
     check_adjtime_not_exist
-    printf '0.0 0 0' > /etc/adjtime
+    printf '0.0 0 0' >/etc/adjtime
     timedatectl set-local-rtc 1
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
 LOCAL"
 
     echo 'only two lines in adjtime file'
-    printf '0.0 0 0\n0\n' > /etc/adjtime
+    printf '0.0 0 0\n0\n' >/etc/adjtime
     timedatectl set-local-rtc 0
     check_adjtime_not_exist
-    printf '0.0 0 0\n0\n' > /etc/adjtime
+    printf '0.0 0 0\n0\n' >/etc/adjtime
     timedatectl set-local-rtc 1
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
 LOCAL"
 
     echo 'only two lines in adjtime file, no final newline'
-    printf '0.0 0 0\n0' > /etc/adjtime
+    printf '0.0 0 0\n0' >/etc/adjtime
     timedatectl set-local-rtc 0
     check_adjtime_not_exist
-    printf '0.0 0 0\n0' > /etc/adjtime
+    printf '0.0 0 0\n0' >/etc/adjtime
     timedatectl set-local-rtc 1
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
 LOCAL"
 
     echo 'unknown value in 3rd line of adjtime file'
-    printf '0.0 0 0\n0\nFOO\n' > /etc/adjtime
+    printf '0.0 0 0\n0\nFOO\n' >/etc/adjtime
     timedatectl set-local-rtc 0
     check_adjtime_not_exist
-    printf '0.0 0 0\n0\nFOO\n' > /etc/adjtime
+    printf '0.0 0 0\n0\nFOO\n' >/etc/adjtime
     timedatectl set-local-rtc 1
     assert_eq "$(cat /etc/adjtime)" "0.0 0 0
 0
index 088e5677277dcde6d7539210dd12ca6598368b50..a0723057394d4cd12849d720d56056fed10018e4 100755 (executable)
@@ -158,7 +158,7 @@ if systemctl --version | grep -q -- +OPENSSL ; then
     fi
     HAVE_OPENSSL=1
     # Unfortunately OpenSSL insists on reading some config file, hence provide one with mostly placeholder contents
-    cat >> "${image}.openssl.cnf" <<EOF
+    cat >>"${image}.openssl.cnf" <<EOF
 [ req ]
 prompt = no
 distinguished_name = req_distinguished_name
@@ -178,7 +178,7 @@ EOF
     # Sign Verity root hash with it
     openssl smime -sign -nocerts -noattr -binary -in "${image}.roothash" -inkey "${image}.key" -signer "${image}.crt" -outform der -out "${image}.roothash.p7s"
     # Generate signature partition JSON data
-    echo '{"rootHash":"'"${roothash}"'","signature":"'"$(base64 -w 0 < "${image}.roothash.p7s")"'"}' > "${image}.verity-sig"
+    echo '{"rootHash":"'"${roothash}"'","signature":"'"$(base64 -w 0 <"${image}.roothash.p7s")"'"}' >"${image}.verity-sig"
     # Pad it
     truncate -s "${signature_size}" "${image}.verity-sig"
     # Register certificate in the (userspace) verity key ring
@@ -418,7 +418,7 @@ rm /var/lib/extensions/app-nodistro.raw
 mkdir -p /run/machines /run/portables /run/extensions
 touch /run/machines/a.raw /run/portables/b.raw /run/extensions/c.raw
 
-systemd-dissect --discover --json=short > /tmp/discover.json
+systemd-dissect --discover --json=short >/tmp/discover.json
 grep -q -F '{"name":"a","type":"raw","class":"machine","ro":false,"path":"/run/machines/a.raw"' /tmp/discover.json
 grep -q -F '{"name":"b","type":"raw","class":"portable","ro":false,"path":"/run/portables/b.raw"' /tmp/discover.json
 grep -q -F '{"name":"c","type":"raw","class":"extension","ro":false,"path":"/run/extensions/c.raw"' /tmp/discover.json
index dc0c5f554f15cd454e55b712e5b8d2731aa363c4..dd7e28392d24cfa8338a9d665ac36d8f1000eabd 100755 (executable)
@@ -17,7 +17,7 @@ systemd-run -p LoadCredential=passwd:/etc/passwd \
 rm /tmp/ts54-concat
 
 # Test that SetCredential= acts as fallback for LoadCredential=
-echo piff > /tmp/ts54-fallback
+echo piff >/tmp/ts54-fallback
 [ "$(systemd-run -p LoadCredential=paff:/tmp/ts54-fallback -p SetCredential=paff:poff --pipe --wait systemd-creds cat paff)" = "piff" ]
 rm /tmp/ts54-fallback
 [ "$(systemd-run -p LoadCredential=paff:/tmp/ts54-fallback -p SetCredential=paff:poff --pipe --wait systemd-creds cat paff)" = "poff" ]
index cd797a16e14a03994b470756459f964fd29c0db2..115b0d56f66c53acd45ea91973e3fb02f5c5ad40 100755 (executable)
@@ -9,7 +9,7 @@ else
     counter=0
 fi
 
-echo "$counter" > /tmp/testsuite-57.counter
+echo "$counter" >/tmp/testsuite-57.counter
 
 if [ "$counter" -eq 5 ] ; then
     systemctl kill --kill-whom=main -sUSR1 testsuite-57.service
index 8b52a435e6dab0c518a7844322aa76e63610ec2c..0ed55ac0331ec1305ee9850562438ab47286299d 100755 (executable)
@@ -783,7 +783,7 @@ VerityMatchKey=root
 EOF
 
     # Unfortunately OpenSSL insists on reading some config file, hence provide one with mostly placeholder contents
-    runas testuser tee > "$defs/verity.openssl.cnf" <<EOF
+    runas testuser tee >"$defs/verity.openssl.cnf" <<EOF
 [ req ]
 prompt = no
 distinguished_name = req_distinguished_name
index a29364568db9c8964f30cb0da368a103b242dfd8..1b45ba21fbad72485c134b398512b7f37146a9d0 100755 (executable)
@@ -158,7 +158,7 @@ test_issue_20329() {
     unit=$(systemd-escape --suffix mount --path "$tmpdir")
 
     # Set up test mount unit
-    cat > /run/systemd/system/"$unit" <<EOF
+    cat >/run/systemd/system/"$unit" <<EOF
 [Mount]
 What=tmpfs
 Where=$tmpdir
index 04b79b7e774bcf52800a315f6b158d46bff96e1f..1b3b11adf117d9ac0fbe8ade86a3f065c1a4287c 100755 (executable)
@@ -60,6 +60,6 @@ systemctl start --wait testsuite-62-3.service
 systemctl start --wait testsuite-62-4.service
 systemctl start --wait testsuite-62-5.service
 
-echo OK > /testok
+echo OK >/testok
 
 exit 0
index 9da4a0818d9a32214a198e784d49cd3f1a6f123b..2d815a96da21cefad636c8c96a3887b3f893adff 100644 (file)
@@ -7,4 +7,4 @@ DevicePolicy=strict
 DeviceAllow=/dev/null r
 StandardOutput=file:/tmp/testsuite66serviceresults
 ExecStartPre=rm -f /tmp/testsuite66serviceresults
-ExecStart=/bin/bash -c "while true; do sleep 0.01 && echo meow > /dev/null && echo thisshouldnotbehere; done"
+ExecStart=/bin/bash -c "while true; do sleep 0.01 && echo meow >/dev/null && echo thisshouldnotbehere; done"
index b813621055f4ce9c69d7594e706910c414b1a482..c45a8bd8b36cd3e491c689751fa7f9c647037e69 100755 (executable)
@@ -29,9 +29,9 @@ trap cleanup EXIT
 
 build_integrity_tab()
 {
-cat << _EOL > "/etc/integritytab"
+cat <<EOF >"/etc/integritytab"
 ${DM_NAME} ${loop} - integrity-algorithm=$1
-_EOL
+EOF
 }
 
 image_dir="$(mktemp -d -t -p / integrity.tmp.XXXXXX)"
index 2ab8855ddcfee02abd979e873169a18a01e7ea81..5667c8ab57429cc55ab9159a4014c17b0d1e2920 100755 (executable)
@@ -61,8 +61,8 @@ tpm2_pcrextend 0:sha256=00000000000000000000000000000000000000000000000000000000
 rm $img
 
 if [[ -e /usr/lib/systemd/systemd-measure ]]; then
-    echo HALLO > /tmp/tpmdata1
-    echo foobar > /tmp/tpmdata2
+    echo HALLO >/tmp/tpmdata1
+    echo foobar >/tmp/tpmdata2
 
     cat >/tmp/result <<EOF
 11:sha1=5177e4ad69db92192c10e5f80402bf81bfec8a81
@@ -119,10 +119,10 @@ if [ -e /usr/lib/systemd/systemd-measure ] && \
 
     # Invalidate PCR, decrypting should fail now
     tpm2_pcrextend 11:sha256=0000000000000000000000000000000000000000000000000000000000000000
-    systemd-creds decrypt /tmp/pcrtestdata.encrypted - --tpm2-signature="/tmp/pcrsign.sig" > /dev/null && { echo 'unexpected success'; exit 1; }
+    systemd-creds decrypt /tmp/pcrtestdata.encrypted - --tpm2-signature="/tmp/pcrsign.sig" >/dev/null && { echo 'unexpected success'; exit 1; }
 
     # Sign new PCR state, decrypting should work now.
-    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: > "/tmp/pcrsign.sig2"
+    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: >"/tmp/pcrsign.sig2"
     systemd-creds decrypt /tmp/pcrtestdata.encrypted - --tpm2-signature="/tmp/pcrsign.sig2" | cmp - /tmp/pcrtestdata
 
     # Now, do the same, but with a cryptsetup binding
@@ -144,18 +144,18 @@ if [ -e /usr/lib/systemd/systemd-measure ] && \
     SYSTEMD_CRYPTSETUP_USE_TOKEN_MODULE=1 /usr/lib/systemd/systemd-cryptsetup attach test-volume2 $img - tpm2-device=auto,tpm2-signature="/tmp/pcrsign.sig2",headless=1 && { echo 'unexpected success'; exit 1; }
 
     # But once we sign the current PCRs, we should be able to unlock again
-    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: > "/tmp/pcrsign.sig3"
+    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: >"/tmp/pcrsign.sig3"
     SYSTEMD_CRYPTSETUP_USE_TOKEN_MODULE=0 /usr/lib/systemd/systemd-cryptsetup attach test-volume2 $img - tpm2-device=auto,tpm2-signature="/tmp/pcrsign.sig3",headless=1
     /usr/lib/systemd/systemd-cryptsetup detach test-volume2
     SYSTEMD_CRYPTSETUP_USE_TOKEN_MODULE=1 /usr/lib/systemd/systemd-cryptsetup attach test-volume2 $img - tpm2-device=auto,tpm2-signature="/tmp/pcrsign.sig3",headless=1
     /usr/lib/systemd/systemd-cryptsetup detach test-volume2
 
     # Test --append mode and de-duplication. With the same parameters signing should not add a new entry
-    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: --append="/tmp/pcrsign.sig3" > "/tmp/pcrsign.sig4"
+    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: --append="/tmp/pcrsign.sig3" >"/tmp/pcrsign.sig4"
     cmp "/tmp/pcrsign.sig3" "/tmp/pcrsign.sig4"
 
     # Sign one more phase, this should
-    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=quux:waldo --append="/tmp/pcrsign.sig4" > "/tmp/pcrsign.sig5"
+    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=quux:waldo --append="/tmp/pcrsign.sig4" >"/tmp/pcrsign.sig5"
     ( ! cmp "/tmp/pcrsign.sig4" "/tmp/pcrsign.sig5" )
 
     # Should still be good to unlock, given the old entry still exists
@@ -163,8 +163,8 @@ if [ -e /usr/lib/systemd/systemd-measure ] && \
     /usr/lib/systemd/systemd-cryptsetup detach test-volume2
 
     # Adding both signatures once more should not change anything, due to the deduplication
-    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: --append="/tmp/pcrsign.sig5" > "/tmp/pcrsign.sig6"
-    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=quux:waldo --append="/tmp/pcrsign.sig6" > "/tmp/pcrsign.sig7"
+    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=: --append="/tmp/pcrsign.sig5" >"/tmp/pcrsign.sig6"
+    /usr/lib/systemd/systemd-measure sign --current "${MEASURE_BANKS[@]}" --private-key="/tmp/pcrsign-private.pem" --public-key="/tmp/pcrsign-public.pem" --phase=quux:waldo --append="/tmp/pcrsign.sig6" >"/tmp/pcrsign.sig7"
     cmp "/tmp/pcrsign.sig5" "/tmp/pcrsign.sig7"
 
     rm $img
index 221068f284f7adbbe99fe1e83c46ccb6273143df..d9663de158a641b8672f6694352e1ed061352bcc 100755 (executable)
@@ -114,17 +114,17 @@ EOF
     systemctl daemon-reload
 
     mount -t tmpfs none /sys/class/dmi/id
-    echo '1' > /sys/class/dmi/id/uevent
+    echo '1' >/sys/class/dmi/id/uevent
 
-    echo '01/01/2000' > /sys/class/dmi/id/bios_date
+    echo '01/01/2000' >/sys/class/dmi/id/bios_date
     systemctl stop systemd-hostnamed
     assert_in '2000-01-01' "$(hostnamectl)"
 
-    echo '2022' > /sys/class/dmi/id/bios_date
+    echo '2022' >/sys/class/dmi/id/bios_date
     systemctl stop systemd-hostnamed
     assert_not_in 'Firmware Date' "$(hostnamectl)"
 
-    echo 'garbage' > /sys/class/dmi/id/bios_date
+    echo 'garbage' >/sys/class/dmi/id/bios_date
     systemctl stop systemd-hostnamed
     assert_not_in 'Firmware Date' "$(hostnamectl)"
 }
index d8f668513c73b3cdb1738cdfd6981cf9d874916e..4f33cab8482feb9be9aa04cd501b8fe195807cb6 100755 (executable)
@@ -79,7 +79,7 @@ test_locale() {
     if command -v locale-gen >/dev/null 2>&1 &&
            ! localectl list-locales | grep -F "en_US.UTF-8"; then
         # ensure at least one utf8 locale exist
-        echo "en_US.UTF-8 UTF-8" > /etc/locale.gen
+        echo "en_US.UTF-8 UTF-8" >/etc/locale.gen
         locale-gen en_US.UTF-8
     fi
 
index cb571f8b97764396366e17bbae93629d6fa4c155..ef1eedf68b925736d14ef31732439fbce29b7230 100755 (executable)
@@ -8,11 +8,11 @@ set -o pipefail
 
 export SYSTEMD_LOG_LEVEL=debug
 
-echo "foo.bar=42" > /tmp/foo.conf
+echo "foo.bar=42" >/tmp/foo.conf
 assert_rc 0 /usr/lib/systemd/systemd-sysctl /tmp/foo.conf
 assert_rc 1 /usr/lib/systemd/systemd-sysctl --strict /tmp/foo.conf
 
-echo "-foo.foo=42" > /tmp/foo.conf
+echo "-foo.foo=42" >/tmp/foo.conf
 assert_rc 0 /usr/lib/systemd/systemd-sysctl /tmp/foo.conf
 assert_rc 0 /usr/lib/systemd/systemd-sysctl --strict /tmp/foo.conf
 
@@ -26,9 +26,9 @@ net.ipv4.*.*.bootp_relay=1
 net.ipv4.aaa.*.disable_policy=1
 EOF
 
-    echo 0 > /proc/sys/net/ipv4/conf/hoge/drop_gratuitous_arp
-    echo 0 > /proc/sys/net/ipv4/conf/hoge/bootp_relay
-    echo 0 > /proc/sys/net/ipv4/conf/hoge/disable_policy
+    echo 0 >/proc/sys/net/ipv4/conf/hoge/drop_gratuitous_arp
+    echo 0 >/proc/sys/net/ipv4/conf/hoge/bootp_relay
+    echo 0 >/proc/sys/net/ipv4/conf/hoge/disable_policy
 
     assert_rc 0 /usr/lib/systemd/systemd-sysctl --prefix=/net/ipv4/conf/hoge /tmp/foo.conf
     assert_eq "$(cat /proc/sys/net/ipv4/conf/hoge/drop_gratuitous_arp)" "1"
index 13db238ba9ce04e407fe0b6f956fbd1802d5c7cd..61749fd0c8be0da9687cfebd42127b2ba3f6196f 100755 (executable)
@@ -27,7 +27,7 @@ diff <(systemctl show -p OpenFile testsuite-77) - <<EOF
 OpenFile=/test-77-open.dat:open:read-only
 OpenFile=/test-77-file.dat
 EOF
-echo "New" > /test-77-new-file.dat
+echo "New" >/test-77-new-file.dat
 systemd-run --wait -p OpenFile=/test-77-new-file.dat:new-file:read-only "$(dirname "$0")"/testsuite-77-run.sh
 
 assert_rc 202 systemd-run --wait -p OpenFile=/test-77-new-file.dat:new-file:read-only -p OpenFile=/test-77-mssing-file.dat:missing-file:read-only "$(dirname "$0")"/testsuite-77-run.sh
index 1bd2cc406db168226f217992c91861ed3e4bcf14..027d607a496014a109ab09098c394d9a03ab2f78 100755 (executable)
@@ -60,7 +60,7 @@ while read -r line; do
         data="${BASH_REMATCH[2]}"
         break
     fi
-done < "${2}"
+done <"${2}"
 
 if [[ -z "${text}" || -z "${data}" ]]; then
     echo "Could not determine text and data location."
index c69773087dfcbbd27871142d085ef10c66545f35..9f5e6e393ea1eff3e78e1b94e95f5b7622d78813 100755 (executable)
@@ -5,13 +5,13 @@ set -eu
 cd "${1:?}"
 
 (curl --fail -L 'https://chromium.googlesource.com/chromiumos/platform2/+/master/power_manager/udev/gen_autosuspend_rules.py?format=TEXT'; echo) \
-    | base64 -d > tools/chromiumos/gen_autosuspend_rules.py
+    | base64 -d >tools/chromiumos/gen_autosuspend_rules.py
 
-(cat <<%EOF
+(cat <<EOF
 # This file is part of systemd.
 #
 # Rules to autosuspend known fingerprint readers (pulled from libfprint).
 #
-%EOF
+EOF
 curl --fail -L 'https://gitlab.freedesktop.org/libfprint/libfprint/-/raw/master/data/autosuspend.hwdb') \
-    > hwdb.d/60-autosuspend-fingerprint-reader.hwdb
+    >hwdb.d/60-autosuspend-fingerprint-reader.hwdb