Ubuntu入門指令碼day1

2021-10-03 17:32:21 字數 2818 閱讀 7460

開頭要有蛇棒

如第一行用#!/bin/bash——#!是乙個特殊字元,/bin/bash是指令碼的解釋路徑(我的理解就是:指令碼語言有很多種類,如「/bin/sh指令碼,/bin/perl指令碼等」,不設定你使用的指令碼解釋路徑,你的指令碼無法正常執行,此外/bin/bash相當於/bin/sh的公升級版吧)

/bin/bash 指令碼的自定義變數書寫規範

自定義變數用等號賦值時,不要用空格隔開!!!!

錯誤示範:

```

bash

#!/bin/bash f1 =

"csa/"

```

正確示範成功設定了你的自定義變數,那麼變數名稱應該是藍色!

多個命令的拼接

多個命令拼接(我在網上看見的,不知道是不是原博主,如果點不開就看下面的複製引用),感謝原博主!

#!/bin/bash

name=

"shell"

url=

""str1=

$name

$url

#中間不能有空格

str2=

"$name

$url"

#如果被雙引號包圍,那麼中間可以有空格

str3=

$name

": "

$url

#中間可以出現別的字串

str4=

"$name: $url"

#這樣寫也可以

str5=

"$script: $index.html"

#這個時候需要給變數名加上大括號

echo

$str1

echo

$str2

echo

$str3

echo

$str4

echo

$str5

應該很好理解了,親測能用,而且非字串(比如你之前declare -i x=0,x作為整數也能直接拼接)感謝原博前輩!

指令碼新增許可權:每乙個寫好的指令碼,首次執行前需要新增執行許可權,比如chmod +700 ***.sh之類的

當前終端執行:如果希望在當前terminal執行,需要. ./***.sh而不是./***.sh因為後者會讓當前終端作為父程序,fork乙個子程序去執行你的shell,所以你在當前終端看不見任何變化。(注意前者兩個". .「中間有空格!!!,不是返回上級目錄一樣的」…")

if語句的格式問題

錯誤示範 if 和 [ 之間沒有留下空格,導致格式錯誤(for 迴圈結構,for後面也要留下空格!)

正確示範

寫指令碼語言一定要嚴格遵守格式問題(突然想到一年前也有剛剛學bash的朋友問我這個if為什麼一直報錯…沒想到如今我也面臨了同樣的問題,哈哈哈哈,就像當初剛剛學c++if ( x = 1)這個bug自己找了一天都沒找出來,最後請教的助教。歷史總是驚人的相似,前幾天學妹也問了我,哈哈哈哈)

what』s past is prologue!

函式呼叫參考部落格,感謝原博主!

我的理解如下:

函式分為帶參函式,和無參函式

#無參函式

fun1

#帶參函式

fun2(

), $, ...十分方便,有點類似arg但是在函式定義上簡便不少

}

帶參函式又可以分為引數內部帶空格引數內部無空格

#比如我有兩個變數,將引數傳遞給上面的fun2

str1=

"hi"

str2=

"h i"

func2 $

#函式的$就是"hi"

func2 $

#函式內部$="h",$="i",因為str2內部有空格,被識別為兩個引數

fun2 "$"

#函式內部$="h i",因為傳遞引數時用雙引號包圍,所以能傳遞空格

在指令碼中函式定義是不會被執行的,如果需要呼叫函式直接使用函式名即可(如同上面一樣,不需要括號,引數跟在後面即可)所以你可以自己設定乙個入口函式放在最前面(相當於main)

fun
指令碼書寫習慣規範參考,感謝原博主!

常用的書寫習慣,還有避免潛在bug的書寫方法

指令碼內部算術運算操作參考,感謝原博主

加減乘除、移位操作什麼的指令碼內部都能支援

今天從12:00開始到18:00差不多學了6個小時,從一開始的指令碼如何執行linux命令都不知道,到現在基本能夠在指令碼中使用不太複雜的自變數、函式呼叫、迴圈、字串拼接、檔案拷貝操作等。目前感覺差不多能夠完成一些簡單任務了。

Day1 入門導論

資料結構就是指一組資料的儲存結構。演算法就是運算元據的一組方法。資料結構和演算法是相輔相成的。資料結構是為演算法服務的,演算法要作用在特定的資料結構之上。因此,我們無法孤立資料結構來講演算法,也無法孤立演算法來講資料結構。首先要掌握乙個資料結構與演算法中最重要的概念 複雜度分析。資料結構和演算法解決...

Python入門學習筆記(day1)

位運算1.在注釋中,只能表示單行的注釋,而如果要注釋區間 多行注釋 則需要用到三引號,這個地方使用三單引或者三雙引都可以。1.關於算術運算子,除了規則的四則運算 外,還有一些像整除運算子 冪運算子 等都是非常常用的運算子,它們可以幫助我們在一些例如求最大公約數以及一些算術表示式的結果時簡化很多不必要...

python學習(day1)初識入門

高階語言 python,j a,php,c go.輸出字元碼 位元組碼是讓c語言能識別的 低階語言 c,彙編 輸出機器碼 機器碼讓計算機操縱系統識別 php類 適用於寫網頁,有較大侷限性 python j a 既可以寫網頁,也可以做後台,應用面廣 python執行效率低,開發效率高。j a反之。有許...