shell cheatsheet

源自:https://devhints.io/bash
此網站的其他內容也不錯获雕,例如https://devhints.io/docker

Go to previous directory

cd -

Subshells

(cd somedir; echo "I'm now in $PWD")
pwd # still in first directory

Conditionals execution

git commit && git push
git commit || echo "commit failed"

Conditionals

if [ -z "$string" ]; then
    echo "empty"
elif [ -n "$string" ]; then
    echo "not empty"

Function arguments

$#  Number of arguments
$*  All arguments
$@  All arguments, starting from first
$1  First argument
}
echo "You are $(get_name)"

Function return values

get_name() {
  echo "John" # return
}
echo "You are $(get_name)"

Brace expansion

echo {a,b}.js
echo {a..z}.js

String quotes

NAME="Hohn"
echo "Hi $NAME"
echo 'Hi $NAME'

Shell execution

echo "I'm in $(pwd)"
echo "I'm in `pwd`"

Length

${#FOO} Length of $FOO

Default values

${FOO:-val} $FOO, or val if not set
${FOO:=val} Set $FOO to val if not set
${FOO:+val} val if $FOO is set
${FOO:?message} Show error message and exit if $FOO is not set

Loops

for i in /etc/rc.*; do
  echo $i
done

Printf

printf "Hello %s, I'm %s" Sven Olga
#=> "Hello Sven, I'm Olga

Special variables

$?  Exit status of last task
$!  PID of last background task
$$  PID of shell

File conditions

[ -e FILE ] Exists
[ -r FILE ] Readable
[ -h FILE ] Symlink
[ -d FILE ] Directory
[ -w FILE ] Writable
[ -s FILE ] Size is > 0 bytes
[ -f FILE ] File
[ -x FILE ] Executable

Defining arrays

Fruits=('Apple' 'Banana' 'Orange')
Fruits[0]="Apple"
Fruits[1]="Banana"
Fruits[2]="Orange"

echo ${Fruits[0]}           # Element #0
echo ${Fruits[@]}           # All elements, space-separated
echo ${#Fruits[@]}          # Number of elements
echo ${#Fruits}             # String length of the 1st element
echo ${#Fruits[3]}          # String length of the Nth element
echo ${Fruits[@]:3:2}       # Range (from position 3, length 2)

for i in "${arrayName[@]}"; do
  echo $i
done
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子滓走,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鲤竹,死亡現(xiàn)場離奇詭異,居然都是意外死亡昔榴,警方通過查閱死者的電腦和手機辛藻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來互订,“玉大人吱肌,你說我怎么就攤上這事⊙銮荩” “怎么了氮墨?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長吐葵。 經常有香客問我规揪,道長,這世上最難降的妖魔是什么温峭? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任猛铅,我火速辦了婚禮,結果婚禮上凤藏,老公的妹妹穿的比我還像新娘奸忽。我一直安慰自己,他們只是感情好揖庄,可當我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布栗菜。 她就那樣靜靜地躺著,像睡著了一般蹄梢。 火紅的嫁衣襯著肌膚如雪苛萎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天检号,我揣著相機與錄音腌歉,去河邊找鬼。 笑死齐苛,一個胖子當著我的面吹牛翘盖,可吹牛的內容都是我干的。 我是一名探鬼主播凹蜂,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼馍驯,長吁一口氣:“原來是場噩夢啊……” “哼阁危!你這毒婦竟也來了?” 一聲冷哼從身側響起汰瘫,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤狂打,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后混弥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趴乡,經...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年蝗拿,在試婚紗的時候發(fā)現(xiàn)自己被綠了晾捏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡哀托,死狀恐怖惦辛,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情仓手,我是刑警寧澤胖齐,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站嗽冒,受9級特大地震影響呀伙,放射性物質發(fā)生泄漏。R本人自食惡果不足惜辛慰,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一区匠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧帅腌,春花似錦驰弄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至溺职,卻和暖如春岔擂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背浪耘。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工乱灵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人七冲。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓痛倚,卻偏偏與公主長得像,于是被迫代替她去往敵國和親澜躺。 傳聞我的和親對象是個殘疾皇子蝉稳,可洞房花燭夜當晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理抒蚜,服務發(fā)現(xiàn),斷路器耘戚,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 想要改進這個備忘單嗎嗡髓?參見[貢獻](#貢獻)部分! 目錄 [為何選擇Docker](#why-docker) [先...
    iOSDevLog閱讀 2,101評論 0 3
  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件收津?Google Compute Engi...
    ahohoho閱讀 15,548評論 15 147
  • 變量 變量定義 位置參數(shù) $@ vs $* 條件控制 注意項 [ -z "" ] 前后都有空格 [ "1" \> ...
    捕鯨小能手閱讀 676評論 0 0
  • 槑小姐認識明先生是在同學聚會饿这。 槑小姐是一位天生的宅女,不上班的日子里總是選擇在家度過朋截,看看電影蛹稍,做做家務吧黄,發(fā)發(fā)呆...
    菲菲菲小菲閱讀 395評論 3 1