在Deb包維護者腳本中,例如, postinstall,prerm等。我認爲我們經常使用/ bin/sh作爲shell腳本解釋器。但是,/ bin/sh在不同的分配或用戶首選項上可能會有所不同。例如,Ubuntu鏈接/ bin/sh到/ bin/dash或某些用途可能鏈接到/ bin/tcsh。Deb包維護者腳本使用Bash或Sh
如果用戶將shell更改爲tcsh,可能會遇到兩種類型的語法錯誤。
1)set -e#tcsh無法理解這一點。
2)>/dev/null 2> & 1#模糊重定向。
第一個想法是刪除(1),並將(2)更改爲> &/dev/null。但是,我發現在大多數維護者腳本中,提供了'set -e'行。
現在,我不知道應該
一)我只是解決所有的問題,並使用/ bin/sh的 二)改變使用/ bin/bash的 C)忽略tcsh的情況下
誰能提供一些建議?
謝謝。 傑克
我認爲debian的打包策略有指導說明,指出在這些位置使用'set -e'等是否有效,以及哪些shell可能是符合系統的'/ bin/sh'。你看了? –
'set -e'只是我找到的腳本中的一種常用方式或練習。我查看了關於包裝的文件,但這並不是說太多。然而,@Tonin確實提供了一個關於Debian策略的好文件,它清楚地解釋了腳本。 –