linux基本shell腳本?shell 和vim補充内容常見的shell Bourne shell, C shell Korn shell,這三種情況,bash shell 是Bourn shell 的擴展,位于 /bin/bash下查看當前使用的是哪種shell的最簡單的辦法就是随意輸入一個不,接下來我們就來聊聊關于linux基本shell腳本?以下内容大家不妨參考一二希望能幫到您!
shell 和vim補充内容
常見的shell Bourne shell, C shell Korn shell,這三種情況,bash shell 是Bourn shell 的擴展,位于 /bin/bash下。查看當前使用的是哪種shell的最簡單的辦法就是随意輸入一個不
能識别的命令,系統錯誤會提示出shell的類型。在linux下shell的切換也是很方便的,如果想從當前的環境shell類型切換到ksh,直接輸入ksh就行。 切換到bourne shell 輸入 sh
如果想返回到之前的shell,就可以使用exit命令推出,如果打算比較長時間的使用某種shell 的類型,可以編輯 /etc/default/useradd 文件,修改對應的字段既可,重啟生效。
如果想改變某個用戶的shell類型,可以編輯/etc/passwd/ 用戶對應的字段。我的編輯器是vim,編輯起來比較方便,比較常用的光标移動操作命令還算很方便的,
G :光标移動到文本末尾
gg :光标移動到開始
L文本底部,
j下一行,
k上一行,
W下一行開開始,
h左移動一個字符,
l右移動一個字符,
$ 所在行的行末,
^所在行行首
文本插入命令
A 在一行的末尾加入文本 a 在光标的右邊加入文本,i在光标的左邊插入文本,I在光标所在行插入文本。
字符删除:
x:删除光标所在位置的後一個字符
nx:删後n個字符
X:删除前一個
dd:删除光标所在的行
ndd 從光标所在的行開始,删除n行
複制操作命令:
p 将緩沖區複制當前光标位置
yw 光标所在位置到行尾的字符複制到緩沖區
yy 複制光标所在的行
nyw 從光标所在位置複制n個字符
nyy 從光标起複制n行
保存退出命令:
:m保存退出,忽略擁有者的隻讀權
:w file_name 将緩沖區内容寫入到指定的文件,
vi 兩個重要的參數是-r 和 -R r可用于恢複一個在編輯中但由于系統崩潰而未來的及保存的文件,而R選項可以使用隻讀的方式打開一個文件
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
按照學習進度記錄
在linux 下扶着執行腳本的是bash,sh是指向bash的軟鍊接。使用set -x 可以啟動腳本的追蹤,在運行時候跟蹤,
#!/bin/bash
# set 是用來在腳本過程中進行跟蹤
set -x
echo -n "are you a student ?"
read anwser
#
if [ $anwser=Y ]
then
echo "Yes,I am a student "
else
echo "No I am not a studetnt "
fi
exit 0
set -x 沒有被注釋掉時候,執行腳本會出現一些 開頭的行,,可以發現預計輸出和實際輸出的區别,然後進行修改。
shell變量概述:
在shell中的變量值隻對當前的shell有效,比如在一個終端窗口定義變量var,之後在開啟新的窗口就看不到var了,在shell裡面可以使用變量設定工作環境和保存信息,在變量
中的值也有永久存在的,在變量中存儲的值稱為字符串,這些字符串是字符構成的,它們是shell 的唯一數據形态;
shell的變量類型
局部(本地)變量:
比如在當前窗口定義的變量。僅僅是局部進程變量,除了自定義的局部變量外。系統也為用戶定義了标準的局部變量,用set可以查看命令看,但是也包
括一些環境變量。
環境變量
存儲會話和工作環境的信息,存儲在環境變量的數據是永久性數據,如系統配置信息,用戶帳号以及其他的信息。可以使用echo命令輸出
查看比如:echo $HOME,要看有那些環境變量可以使用env命令查看。
特殊變量:$1,$2...表示腳本執行時候的參數,如果超過10個就要用{}括起來,如${10},另外$@和$*它們表示所有的位置參數
#!/bin/bash
#通過$@列出所有的參數
line=1
echo "listening vars with \"\$@\":"
for var in $@
do
echo "var #$line=$var"
let line =1
done
exit 0
系統内置變量
bash默認了許多内置變量,這些内置變量的使用,直接影響到bash腳本的行為。
BASH 表示完整路徑名字/bin/bash
COLORS 設置文件的顔色:
#!/bin/bash
#記錄腳本運行的時間,secondS變量
time_limit=6
time_interval=1
#
while [ "$SECONDS" -le "$time_limit" ]
do
if [ $SECONDS -lt 7 ]
then
second=1
let seconds =1
fi
echo "This script already runing $seconds second(s)."
sleep $time_interval
done
exit 0
shell變量的設置:
永久性設置
修改配置文件,在/etc/profile定義的變量對linux 下的所有用戶有效,并且永久存在,用編輯器打開後用export 設置就可以。
修改當前用戶的.bash_profile文件的所定義變量,但對單用戶有效,也就是說個人使用的變量。修改/home/user 下的bash_profile,修改文件後若立刻生效,運行命令
source .bash_profile否則下次啟動生效。
暫時使用
export 變量名 =變量值所定義的隻對當前的shell有效,關閉shell後消失。
記得以前有印象的是一個 .bashrc的,它們之間的關系不明白,還算百度一下。點擊打開鍊接
shell變量的應用
一個變量隻有在被聲明賦值,UNSET,EXPORT或者在變量代表一個信号後,才能真正的出現在腳本裡面。有的時候還會出現變量的替換,被稱為弱引用。
賦值操作用“=“賦值時,等号兩邊都不能有空格,且不能與-eq混用,賦值可以用 ”=“也可用let 也可用for
例:
var=2
let var2=2
for var3 in 5 7
do
echo $var
done
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!