tft每日頭條

 > 科技

 > linux基本shell腳本

linux基本shell腳本

科技 更新时间:2024-12-19 05:55:07

linux基本shell腳本?shell 和vim補充内容常見的shell Bourne shell, C shell Korn shell,這三種情況,bash shell 是Bourn shell 的擴展,位于 /bin/bash下查看當前使用的是哪種shell的最簡單的辦法就是随意輸入一個不,接下來我們就來聊聊關于linux基本shell腳本?以下内容大家不妨參考一二希望能幫到您!

linux基本shell腳本(LinuxShell腳本編程從入門到精通)1

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每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved