www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > > 充電吧
[導讀]shell腳本開頭一般會標識調(diào)用的是那個shell,格式#!/bin/sh,運行腳本文件一般有兩種方式sh 腳本名字和./腳本名字這兩種方式區(qū)別在于,第一種腳本文件開頭可以不用寫#!/bin/sh,而

shell腳本開頭一般會標識調(diào)用的是那個shell,格式#!/bin/sh,運行腳本文件一般有兩種方式sh 腳本名字和./腳本名字
這兩種方式區(qū)別在于,第一種腳本文件開頭可以不用寫#!/bin/sh,而第二種必須寫。
在系統(tǒng)中打開中斷輸入命令前,系統(tǒng)一般會進行對該終端初始化操作,該初始化操作由~/.bash_rc來完成,查看該文件如下:
# .bashrc
# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
??????? . /etc/bashrc
fi
該文件重新定義了rm cp mv命令,然后又進入/etc/bashrc來完成初始化

在終端駛?cè)攵鄠€命令時,可以用;來連接各個命令。例如
[root@localhost ~]# ls;cd /usr
anaconda-ks.cfg? httpdump? install.log? install.log.syslog
[root@localhost usr]#
輸入ls;cd /usr,依次執(zhí)行了ls和cd /usr命令

在腳本中有兩種方式來打印信息
1.echo
例如:echo "this is test"
[root@localhost usr]# echo "this is test"
this is test
打印的字符串可以用雙引號,單引號,不帶任何東西
如果字符串中帶有特殊字符,那么這個字符不能在雙引號中,否則會出錯,如果要在雙引號中引用特殊字符,那么得用轉(zhuǎn)義字符
例如:echo "!"
[root@localhost usr]# echo "!"
-bash: !: event not found
[root@localhost usr]# echo !
!
[root@localhost usr]# echo "!"
!
如果要打印變量,那么就不能帶有雙引號或單引號,例如echo $pa,打印變量pa的值,$指取pa的值
一般echo輸出內(nèi)容后會在字符串末尾添加一個換行符,如果不需要換行符,可以使用echo -n,如果字符串中包含轉(zhuǎn)義字符,那么得用echo -e選項來表明該字符串中有轉(zhuǎn)義字符,如果不加-e選項,轉(zhuǎn)義字符會以字符

形式輸出
2.printf
和C語言中printf類似,以格式化形式輸出
例如:

[root@localhost usr]# printf "%d,%sn" 11 12312312
11,12312312

在shell腳本中,變量是沒有類型的,都是以字符串形式存儲。輸出變量時,變量前應帶上$表明這個是變量或者變量用中括號括起來再在前面加上$,如果要獲得變量的長度,比如有變量TEST,獲取該變量的值

${#TEST}。給變量賦值時應注意格式,比如TEST = "hello word"(值沒有空格的話,可以不用雙引號),這種格式是錯誤的,等號兩邊不能有空格,TEST="hello word"。
在shell中子進程可以繼承父進程的變量,比如環(huán)境變量,可以編寫shell腳本時直接調(diào)用環(huán)境變量,可以輸入expor或env,設(shè)置環(huán)境變量export 變量名=值。給變量增加值,export 變量名="$變量名;值"


shell技巧
如何得知當前使用的shell?
echo $SHELL
echo $0
兩個命令都會打印當前使用的shell

如何檢查當前運行腳本的用戶是不是root用戶
檢查$UID的值是否為0,為0則是root用戶

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在 20 世紀 90 年代,在實際硬件上調(diào)試嵌入式軟件主要有兩種基于工具的解決方案:一種是監(jiān)控調(diào)試器,它是在嵌入式系統(tǒng)內(nèi)存中編程的軟件,可響應來自外部的調(diào)試器軟件的請求。另一種是在線仿真器,它是一塊(大型)硬件,可通過適...

關(guān)鍵字: 硬件調(diào)試 printf

在實際項目中,我們經(jīng)常需要提取一個數(shù)值的某些位的數(shù)碼,比如用數(shù)碼管來顯示數(shù)值或?qū)⒁粋€數(shù)值轉(zhuǎn)成字符串,都會涉及到這一操作。

關(guān)鍵字: 數(shù)值 數(shù)碼 printf

前言:今天給大家分享一篇在我工作中常用的一個shell腳本,里面有一些我們常用到的shell操作。該腳本用于本地電腦和服務器交互上,實現(xiàn)以下功能:自動拉取自己個人電腦上的源碼到服務器上yocto包的源碼文件夾。自動運行c...

關(guān)鍵字: shell腳本

最近在忙活搞別的事情(太難受了),嚴重影響了硪那一顆自由飛翔的芯~~所以今天打算分享一個麻省理工小伙寫的printf家族的函數(shù)~說是號稱目前網(wǎng)上嵌入式最好的printf喔.在嵌入式中printf這種功能強大的函數(shù)可謂是c...

關(guān)鍵字: printf 嵌入式

大伙估計在多任務程序中使用printf打印一些信息是非常歡樂的一件事,運氣不錯的話偶爾錯幾個數(shù)據(jù)、亂幾個碼也不是什么大問題,倒霉點的可能就直接掛機、卡死了,那這些到底是什么原因?qū)е碌哪兀?/p> 關(guān)鍵字: printf 可重入函數(shù)

SWO串行線輸出是單引腳、異步串行通信,可在Cortex-M3/M4/M7上使用,并由主調(diào)試器探測支持,它是利用Cortex內(nèi)核中ITM模塊來實現(xiàn)此功能。

關(guān)鍵字: printf 嵌入式

  在家庭的插座、電視等產(chǎn)品智能化之余,用戶希望有更多的傳統(tǒng)數(shù)碼產(chǎn)品智能化,同時廠商也希望借助更多的智能產(chǎn)品尋求突破,智能音箱就是這個被雙方同時找到的產(chǎn)品。   2014 年 11 月,

關(guān)鍵字: echo 亞馬遜 智能家居 智能音頻 物聯(lián)網(wǎng)

  2016年上半年,科技界發(fā)布了大量產(chǎn)品:新款亞馬遜Tap和Echo Dot,三星GalaxyS7和S7 Edge,HTC Vive 和Oculus Rift,以及iPhone SE。盡管如此

關(guān)鍵字: amazon echo google iphone7 oculus rift vr

  “智能家居”這一概念已經(jīng)不再是紙上談兵,無論是時不時想搞出大動作的谷歌旗下Nest智能家居公司,還是亞馬遜一直在大力推廣更新?lián)Q代的Echo,都希望盡快把智能家居推廣到

關(guān)鍵字: appletv echo 智能家居
關(guān)閉