linux下shell程式設計print與printf的區別
1,print是ksh的內建命令,而printf是bash的內建命令
2,print 中不能使用%s ,%d 或%c;
3,print 自動換行,printf 沒有自動換行。
比如下面指令碼的輸出:
$ cat print-printf.sh #!/bin/bash echo $0 $1 if [ $1x == 1x ]; then echo "printf" awk '{for(i=1;i<5;i++){printf($i"\t")}}' test.txt else echo "print" awk '{for(i=1;i<5;i++){print($i"\t")}}' test.txt fi
相關推薦
linux下shell程式設計print與printf的區別
1,print是ksh的內建命令,而printf是bash的內建命令 2,print 中不能使用%s ,%d 或%c; 3,print 自動換行,printf 沒有自動換行。 比如下面指令碼的輸出:
linux下shell 程式設計之擴充套件正則表示式
1. ‘+’ 限定字元 +限定符表示前面字元至少出現一次或者多次。與*不同在於0次或者多次 2. '?' 限定符 ?限定前面的字元最多出現一次。即出現0次或者1次 3. 數線 |和圓括號() 例如
Linux下shell程式設計例項
1.用while語句建立一個根據輸入的數值求累加和(1+2+3+。。。。+n)的shell程式。 while 若干個命令列1 do 若干個命令列2 done 結構 #! /bin/b
linux下shell程式設計總結
概念 shell是一種弱型別、解釋型語言,不需要編譯,只需要一個直譯器,這裡我們用bash。 輸入如下命令: more /etc/passwd 可以看到: 當前使用者root登入的時候,預設開啟的命令列使用者介面就是bash,在這個bash中輸
linux 下shell 程式設計之變數及數學運算
1.shell中的變數是不分資料型別的,統一按照字串來儲存 2. bash shell只能支援數學整數運算(zsh可以支援浮點) 3.以下都是在bash shell 下進行的數學運算 方法一使用方括號進行基本的整數運算: #!/bin/bash var1=1 var2=2
linux下shell程式設計除錯方法,gdb工具的使用
原帖:向日葵智慧前言windows 的介面操作非常豐富,對程式開發也是如此,各種強大的 IDE 真是非常方便。轉入 linux 程式設計後,沒有介面,用 vim gcc 搞程式開發,一開始還真是不適應。現在用的多了,反而習慣用 linux 開發了。但是,沒法除錯程式真是太痛苦
Linux下Shell程式設計錯誤記錄
錯誤描述:((: 08: value too great for base (error token is “08”) 編寫指令碼建立給定字首的31個目錄。程式的目的是建立31個目錄,但是建立到第8個時出現了錯誤,錯誤描述如上。推測提示的含義是:系統將08看做
Linux下Shell程式設計之算術運算和邏輯比較(數值型別、字串型別、檔案型別)
shell程式設計中的算術運算和邏輯比較,主要根據不同運算物件,採用相應的比較、運算方式。 一、數值型 算術運算 ,以變數自增1為例,+ - * / % 等運算方式同理,運算的方式大體四種: i=`expr $i + 1` let i+=1 , let的操作成員不需要
linux下軟連接與硬鏈接的區別
參數 pan 點號 ont linux系統中 快照 目錄 文件的 源文件 在linux系統中,鏈接分為兩種:一種被稱為硬鏈接(Hard Link),另一種被稱為符號連接或軟鏈接(Symbolic Link) 1)默認不帶參數情況下,ln命令創建的為硬鏈接,帶-s參數的ln命
linux下軟鏈接與硬鏈接的區別
linuxlinux系統中鏈接文件分為硬鏈接和軟鏈接(軟鏈接也叫符號鏈接)。1.硬鏈接是創建一個指向block的inode,有防止誤刪除的功能。因為刪除一個文件,實際上是刪除inode信息,切斷了inode與block之間的聯系。當給一個文件做了硬鏈接之後,刪除文件時,只會減少文件的鏈接數,當鏈接數為0時,才
linux 下 shell命令 && || 區別
在執行某個 命令時,有時需要依賴前面的命令是否執行成功。假如你想通過ssh命令複製很多資料檔案到另外的機器後,刪除所有源有檔案,所以在刪除源有檔案之前首先要確定複製是不是執行成功。只要執行復製成功才可以刪除,否則後果...... 一、&
Linux下的CPU使用率與伺服器負載的關係與區別
當我們使用top命令檢視系統的資源使用情況時會看到load average,如下圖所示,它表示系統在1,5,15分鐘的平均工作負載。 那麼什麼是負載(load)呢?它和CPU的利用率又有什麼關係呢? load average:系統平均負載是CPU的Load,它所包含的資訊不是CPU的使用率狀況,而
Linux下的程序概論與程式設計三(程序間通訊的5種方式)
一、程序間通訊 1、IPC—-InterProcess Communication 每個程序各自有不同的使用者地址空間,任何一個程序的全域性變數在另一個程序中都看不到所以程序之間要交換資料必須通過核心,在核心中開闢一塊緩衝區,程序1把資料從使用者
linux下socket程式設計 select實現非阻塞模式多臺客戶端與伺服器通訊
select函式原型如下: int select (int maxfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); select系統呼叫是用來讓我們的程式
linux下shell任務控制命令與快捷鍵jobs/fg/bg/ctrl+z/kill
Linux下使用Shell命令控制任務(Jobs)執行 下列命令可以用來操縱程序任務: ps 列出系統中正在執行的程序 kill 傳送訊號給一個或多個程序(經常用來殺死一個程序) jobs 列出屬於當前使用者的程序 bg 將程序搬到後臺執行(Background) fg
Linux系列:Linux下/etc/rc.local與/etc/init.d的區別與聯絡
1. /etc/rc.local 這是使用者自定義開機啟動程式,把需要開機自動執行的程式寫在這個腳本里再完成 run level 3 的服務啟動後, 如果我還有其他的動作想要完成時,舉例來說, 我還想要寄一封 mail 給某個系統管理帳號,通知他,系統剛剛重新開機完畢,那
Linux下網路程式設計之自定義協議進行併發多客戶端與伺服器的通訊(多程序處理併發)不足佔用資源太多
自定義協議訊息體*********msg.h*************#ifndef _MSG_H_#define _MSG_H_struct msg{ char head[10]; //頭部 char msg_chck; //效驗碼 char buff[512];/
linux中shell程式設計console下,識別up\down\left\right按鍵
今天嘗試在LINUX下使用 shell程式設計實現“俄羅斯方塊”,在識別up\down\left\right按鍵時,出現問題。 解決辦法: 1、在shell中輸入“showkey -a” 2、在提示輸入中,輸入箭頭,例如:“<--” 3、視窗將返回3個字元(ascI
Linux下svn的安裝與部署
myeclipse span .com 服務 點擊 svn服務器 。。 hook idt 最近工作碰到一個問題,我和一個同夥負責開發一個管理系統,基於原來的代碼上進行修改,每當他修改之後,我要再修改都要和他確定是不是最新的文件,才能進行修改。非常影響工作的效率,所以
轉:linux下shell顯示-bash-4.1#不顯示路徑解決方法
所屬組 再次 修改 root 顯示 lin 解決 use .bashrc 幾個可能導致的原因: 1 用戶的家目錄所屬組被改為root,解決方法使用root執行cd /home/;chown username:username username 2 用戶的家目錄被修改,這個時