將命令的輸出放到乙個變數中
foo=$(command)會將command的輸出賦值給foo
算數擴充套件 $(())
$(())比expr常用
例子#!/bin/sh
x=0while [ "$x" -ne 10 ];do
echo $x
x=$(($x+1))
done
exit 0
注意:這與x=$()命令不同,兩對圓括號用於算術替換,而我們之前見到的一對圓括號用於命令的執行和獲取輸出。
引數擴充套件${}
for i in 1 2
doecho $_tmp
done
將會列印:
1_tmp
2_tmp
引數擴充套件格式
$如果param為空,就將它設定為default
$給出param的長度
$從param的尾部開始刪除與word匹配的最小部分,返回返回剩餘部分
$從param的尾部開始刪除與word匹配的最長部分,返回返回剩餘部分
$從param的頭部開始刪除與word匹配的最小部分,返回返回剩餘部分
$從param的頭部開始刪除與word匹配的最長部分,返回返回剩餘部分
例子:#!/bin/sh
unset foo
#if the foo is null,output bar,or output foo
echo $
# bar
foo=fud
echo $
#fud
foo=/usr/bin/x11/startx
echo $
#usr/bin/x11/startx
echo $
#startx
bar=/usr/local/etc/local/networks
echo $
#/usr/local/etc/
echo $
#/usr/
here文件
here文件的最常見的使用者是輸出大量的文字而不使用大量是使用echo
如:#!/bin/sh
cat this is a here
document
!funky!
here文件以兩個連續的小於號開始,緊接著乙個特殊的字串行,標記不能出現在文字中。
指令碼程式除錯:
命令列選項
set選項
說明sh -n
set -o noexec
set -n
只檢查語法錯誤,不執行命令
sh -v
set -o verbose
set -v
在執行命令之前回顯命令
sh -x
set -o xtrace
set -x
在處理完命令之後回顯命令
sh -u
set -o nounset
set -u
如果使用了未定義的變數,就給出出錯資訊
dialog工具可以使shell具有圖形化的屬性。
2023年1月7日《linux程式設計》筆記
bin 二進位制檔案目錄,用於存放啟動系統是用到的程式 usr bin 使用者二進位制檔案目錄,用於存放使用者使用的標準程式 usr local bin 本地二進位制檔案目錄,用於存放軟體安裝的程式 path中的路徑使用 隔開而不是 目錄使用 而不是 gcc o hello hello.c hell...
寫於2023年1月1日
2014年是結束學生生涯,步入職場的一年。讓我自己都感到意外的,我的第一次跳槽居然也發生在這一年。生活本不是隨波逐流,不論別人看來,我不放棄對自己命運的主動權,我為自己不足道的奮鬥所換得的有限自由與任 到驕傲。2014經歷不少,但遠遠不夠。可以確信無疑的一點是,過去的我浪費了太多的時間,即便忙碌,也...
閒談 2023年1月6日
2015年1月6日 22 41 13 畢竟雜談。要不然做個系列吧。哈哈。就叫畢竟雜談。總歸是用了3個小時把心理學的書掃了一遍。去年寒假 大概就是現在這個時候 借了心理學專業的乙個朋友的 基礎心理學 的書。本來以為還能看看。後來看了大概半周,書看了三分一。基本都是在介紹什麼神經衝動啊,激素分泌啊一類對...