Comment by kayson

19 days ago

> sudo echo $NUM_PAGES > /proc/sys/vm/nr_hugepages

This won't work :) echo will run as root but the redirection is still running as the unprivileged user. Needs to be run from a privileged shell or by doing something like sudo sh -c "echo $NUM_PAGES > /proc/sys/vm/nr_hugepages"

The point gets across, though, technicality notwithstanding.

Or

    echo $NUM_PAGES | sudo tee /proc/sys/vm/nr_hugepages 

I've always found it odd that there isn't a standard command to write stdin to a file that doesn't also write it to stdout. Or that tee doesn't have an option to supress writing to stdout.

  • You forgot the "sudo" before "tee"

    > write stdin to a file that doesn't also write it to stdout

    You mean like "dd of=/path/file" ?

    • I physically/literally squinted when I saw disk destroyer.

      I know it's useful for other things, but it has become a fearful instinct at this point.

      2 replies →

  • I've always thought that there should be `cat -o output-file` flag for that. GNU coreutils have miriads of useless flags and missing one actually useful flag LoL.

    And probably `echo -o output-file` as well.

  • > I've always found it odd that there isn't a standard command to write stdin to a file that doesn't also write it to stdout

    If you happen to have moreutils installed, you can do that with pee

        echo $NUM_PAGES | sudo pee 'cat > /proc/sys/vm/nr_hugepages'

  • It’s not an option or feature because it’s built into the shell. Just slap a > /dev/null on the end.