Home
Main website
Display Sidebar
Hide Ads
Recent Changes
View Source:
IORedirectionNotes
Edit
PageHistory
Diff
Info
LikePages
!Append to a file owned by root In this example I will use the ''sources.list'' file that contains a list of the repositories from which we can get packages. Firstly: *sudo echo "#TEST REPOSITORY" >> /etc/apt/sources.list results in a "Permission denied error". This is because the ''>> /etc/apt/sources.list'' redirection is processed by your shell _before_ spawning <tt>sudo</tt>, so it is trying to open the file with your (ordinary) user privileges, not root privileges. Ways around this: 1) *sudo bash -c 'echo "#TEST REPOSITORY" >> /etc/apt/sources.list' The shell spawned by <tt>sudo</tt> reads its command from the string after the ''-c'' switch, so the redirection is done in a process which is already running as root. 2) *echo "#TEST REPO" | sudo tee -a /etc/apt/sources.list The 'tee' command reads from standard input and the ''-a'' switch appends it to the file. Again, the file is opened by the process spawned by <tt>sudo</tt>, which is running as root. 3) *sudo tee -a /etc/apt/sources.list <<< "#TEST REPO" An alternative formulation of 2), using a [HereString|HereStrings].
No page links to
IORedirectionNotes
.