Bshell程式設計最佳實踐

2021-09-21 06:45:53 字數 750 閱讀 9347

'set -e'/'set -o errexit':令你的指令碼有命令失敗時,退出指令碼

'command || true': 如果你允許命令失敗

'set -u'/'set -o nounset': 當指令碼中存在未定義的變數時,退出指令碼

'-o pipefail':如果指令碼中存在管道,則捕獲管道失敗,如果失敗則退出並返回非0值。

'#!/usr/bin/env bash'比'#!/bin/bash'更輕便

if [ "$" = "kevin" ]中並不需要雙等號,但需要雙引號

測試乙個變數是否已定義,使用if [ "$" = "kevin" ]或者[ "$" = "kevin" ]在檔案開始就配置例如當前路徑等魔法變數

依據這些實踐,我們的bshell樣歷為:

#!/usr/bin/env bash

set -o errexit

set -o pipefail

set -o nounset

# set -o xtrace

# set magic variables for current file & dir

__dir="$(cd "$(dirname "$")" && pwd)"

__file="$/$(basename "$")"

__base="$(basename $ .sh)"

arg1="$"

C程式設計最佳實踐

意想不到的麻煩。各種 c 實現通常在某些方面各有不同。堅持使用語言中可能對所有實現都是公共的部分會有幫助。通過這樣做,您更容易將程式移植到新的機器或編譯器,並且不大會遇到編譯器特殊性所帶來的問題。例如,考慮字串 2 1 這裡利用了 最大適合 maximal munch 規則。如果可以巢狀注釋,則可將...

java程式設計最佳實踐

不應該像下面這樣 string ordername urlencoder.encode 這裡是中文 constant.charset utf finally語句只能做如下事件 1 關閉io資源,比如關閉inputstream或socket 2 只做列印錯誤資訊,捕獲異常,不要丟擲異常 儲存在資料庫中...

JS程式設計最佳實踐

最近花了一周時間把 編寫可維護的js 閱讀了一遍,現將全書提到的js程式設計最佳實踐總結如下,已追來者!1.return 之後不可直接換行,否則會導致asi 自動分號插入機制 會在return 後插入乙個分號。2.一行語句最多不超過80個字元,如果超過則應該在運算子後換行,並且追加兩個縮排。3.採用...