国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux Shell腳本編程的注意事項

2019-10-26 18:39:03
字體:
來源:轉載
供稿:網友

一、常用技巧

代碼如下:ssh user@server bash < /path/to/local/script.sh
#ssh到遠程服務器執行一個腳本,此命令可以避免將腳本上傳到遠程服務器

ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
#比較遠程文件和本地文件的差異

vim scp://username@host//path/to/somefile
#vi一個遠程文件

curl ifconfig.me
#在內網下查看公網ip

echo ${#a}
#取變量字符個數

FUNCNAME
#函數名變量,打印該變量會輸出當前的函數名稱

二.變量命名

1.變量命名前后規則統一
代碼如下:COUNT=
Sum=
2.避免無含義字符或數字,例如下面的18,誰知道代表什么含義呢
代碼如下:
#-------------------錯誤寫法-------------------
if [[ $count -gt 18 ]]
then
commmand
fi
#----------------------------------------------

#-------------------正確寫法-------------------
Process_Limit=18
if [[ $count -gt ${Process_Limit} ]]
then
commmand
fi
#----------------------------------------------

3.全局變量在腳本初始化的時候定義,一般是一些配置參數, 盡量少的使用全局變量
4.函數內的局部變量使用local聲明
代碼如下:
func_test_1()
{
local test=1
echo $test
}

5.變量合并
如果某些變量需要組合起來才有意義時,例如文件路徑等,請將組合起來的值賦予一個變量,這樣以后修改起來方便
代碼如下:
log_dir=/opt/log
log_name=website.log
#-------------------錯誤寫法-------------------
if [[ ! -f ${log_dir}/mam/${log_name} ]]
then
touch ${log_dir}/mam/${log_name}
fi
#----------------------------------------------

#-------------------正確寫法-------------------
log_file=${log_dir}/${log_name}
if [[ ! -f ${log_file} ]]
then
touch ${log_file}
fi
#----------------------------------------------

6.異常判斷,判斷變量名是否存在,對于輸入變量,還需要判斷變量名的合法性
代碼如下:
#-------------------錯誤寫法-------------------
rm -rf ${path}/*
#----------------------------------------------

 
#-------------------正確寫法-------------------
if [ -d "${path}" ]
then
rm -rf ${path}/*
fi
#----------------------------------------------

7.雙中括號的使用[[ ]]
shell的雙中括號有很多的作用
代碼如下:
#----------------------------------------------
正則匹配
if [[ Yes =~ Y|y ]]
then
echo matched
fi
#----------------------------------------------

#----------------------------------------------
防止空變量,以下if判斷,如果使用[]則會報錯
if [[ $aaa == 1 ]]
then
echo matched
else
echo "no such variable"
fi
#----------------------------------------------

8.使用ctrl+n補齊變量名
如果變量名的命名比較長,手輸入容易出錯,復制又太麻煩,則可以使用ctrl+n補齊變量名

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荃湾区| 磐安县| 林芝县| 化州市| 探索| 贵定县| 禹城市| 鲜城| 庆元县| 区。| 册亨县| 保亭| 高平市| 南靖县| 浪卡子县| 新晃| 无极县| 德惠市| 微博| 自治县| 嘉峪关市| 平罗县| 洪江市| 宜黄县| 余庆县| 西安市| 南京市| 和硕县| 明光市| 和田市| 武鸣县| 栾城县| 曲靖市| 保亭| 贵州省| 遂宁市| 天气| 赞皇县| 裕民县| 南木林县| 凤凰县|