用sudo cat追加檔案出錯

2021-08-27 06:08:43 字數 641 閱讀 3448

今天在輸入下面一條命令時產生的這個問題:

sudo cat hosts.patch >> /etc/hosts
系統提示permission denied:

-bash: /etc/hosts: permission denied

產生這個問題的過程是這樣的:

這個命令被分解為兩步先後執行,首先會執行

sudo cat hosts.patch
# 這一條命令是具有sudo許可權的,也就是以root身份執行的

根據後面的 >> /etc/hosts,得到輸出後shell需要把它重定向到hosts檔案裡,

但是這個過程並沒有sudo的支撐,當讓就不能開啟hosts檔案,把內容新增進去。(hosts檔案需要root來操作)

所以就會出現permission denied錯誤。

要解決這個問題,是需要把整個「cat hosts.patch >> /etc/hosts」都用sudo來執行就行,

比如說:sudo sh -c "cat hosts.patch >> /etc/hosts"

或者:echo "cat hosts.patch >> /etc/hosts" | sudo sh

這裡有涉及到了有關shell的執行過程的知識,我需要去惡補一下了…………

bat追加檔案

批處理如何實現文字追加內容生成新檔案?1.txt內容如下 test test testtest testtest testtest test testtest 2.txt內容如下 2d354957 2d543356 2d504434 2d355256 2d593442要求 把 2.txt的內容逐行追...

c excel檔案追加

這2天我在寫乙個規約程式,想將資料儲存到excel檔案中,1分鐘存一次,從網上找到的資源都是一次生成的,沒有在原來的基礎上追加的模式,幾經實驗如下 做個標記 實現功能,新建立乙個data.xlsx檔案作為模板,放到程式同級目錄下,程式會根據日期新生成檔案,同一天的資料按照追加的模式寫入。儲存遙測資料...

建立檔案追加檔案

投稿 junjie 字型 增加 這篇文章主要介紹了python建立檔案和追加檔案內容例項,本文同時給出了把標準輸出定向到檔案例項,需要的朋友可以參考下 一 用python建立乙個新檔案,內容是從0到9的整數,每個數字佔一行 複製 如下 python f open f.txt w r唯讀,w可寫,a追...