我編寫了一個腳本,列出了機器上安裝的所有軟件包,然後將它與位於/tmp/pacotes_iniciais.log
中的另一個列表進行比較。出於某種原因,輸出的語言有時會發生變化。它交替英語和葡萄牙語。shell腳本輸出中的語言正在改變
我第一次運行該腳本,它輸出Mon
(星期一),但在第二次運行日期爲Seg
,這是身材矮小的乙級(星期一葡萄牙語)。
此外,英文時,單詞在14º字符處切割。
這是有問題的,因爲totaly會使比較無效。
下面是腳本的摘錄創建列表並進行比較:
dpkg -l | awk '{print $2}' >> /tmp/lista_pacotes.log
echo "\nPackages added until" $(date) "\n" >> /tmp/diferencas.log
grep -F -x -v -f /tmp/pacotes_iniciais.log /tmp/lista_pacotes.log >> /tmp/diferencas.log
/tmp/diferencas.log
第二行程內容:
Packages added until Seg Nov 14 08:48:22 BRT 2016
sl
首先運行:
Packages added until Mon Nov 14 08:24:17 BRT 2016
Name
acpi-support-b
apt-listchange
aptitude-commo
aptitude-doc-e
bash-completio
ca-certificate
console-setup-
[...]
有什麼可能導致這種情況?
注意:我在64位的Debian Jessie OS上運行這個腳本,並通過SSH訪問這臺機器。
使用'dpkg --get -selections | cut -f1' –
@IporSircer這個命令會做什麼? – EGS
man dpkg:'--get-selections [package-name-pattern ...] 獲取軟件包選擇列表,並將其寫入標準輸出。如果沒有 模式,則不會顯示未安裝的軟件包(即之前已被清除的那些軟件包)。 –