2023年1月20日《linux程式設計》學習筆記

2021-06-28 07:53:52 字數 1524 閱讀 8641

將命令的輸出放到乙個變數中

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個小時把心理學的書掃了一遍。去年寒假 大概就是現在這個時候 借了心理學專業的乙個朋友的 基礎心理學 的書。本來以為還能看看。後來看了大概半周,書看了三分一。基本都是在介紹什麼神經衝動啊,激素分泌啊一類對...