jxqz
jxqz

Reputation: 117

factor sudo across pipes

I have this command line

$ sudo find /etc/grub.d | sort | tail -n 1 | xargs sudo cat | wc

that I want to execute with a single sudo command

$ sudo --some-how "find /etc/grub.d | sort | tail -n 1 | xargs cat | wc"

such that the entire command line is run as root.

Upvotes: 3

Views: 2468

Answers (2)

Tim Potter
Tim Potter

Reputation: 2457

Try this:

$ sudo sh -c "find /etc/grub.d | sort | tail -n 1 | xargs cat | wc"

Upvotes: 6

jxqz
jxqz

Reputation: 117

This is the best I can do so far, but I am hoping for something less hack-like

$ echo "find /etc/grub.d | sort | tail -n 1 | xargs cat | wc ; exit" | sudo -iE

Upvotes: 0

Related Questions