Linux Shell 脚本编程从入门到精通 (笔记1)
来源:互联网 发布:剑灵可爱召唤捏脸数据 编辑:程序博客网 时间:2024/06/06 00:51
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 -xecho -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 "fiexit 0
set -x 没有被注释掉时候,执行脚本会出现一些 +开头的行,,可以发现预计输出和实际输出的区别,然后进行修改。
shell变量概述:
在shell中的变量值只对当前的shell有效,比如在一个终端窗口定义变量var,之后在开启新的窗口就看不到var了,在shell里面可以使用变量设定工作环境和保存信息,在变量
中的值也有永久存在的,在变量中存储的值称为字符串,这些字符串是字符构成的,它们是shell 的唯一数据形态;
shell的变量类型
局部(本地)变量:
比如在当前窗口定义的变量。仅仅是局部进程变量,除了自定义的局部变量外。系统也为用户定义了标准的局部变量,用set可以查看命令看,但是也包
括一些环境变量。
环境变量
存储会话和工作环境的信息,存储在环境变量的数据是永久性数据,如系统配置信息,用户帐号以及其他的信息。可以使用echo命令输出
查看比如:echo $HOME,要看有那些环境变量可以使用env命令查看。
特殊变量:$1,$2...表示脚本执行时候的参数,如果超过10个就要用{}括起来,如${10},另外$@和$*它们表示所有的位置参数
#!/bin/bash#通过$@列出所有的参数 line=1echo "listening vars with \"\$@\":"for var in $@doecho "var #$line=$var"let line+=1doneexit 0
系统内置变量
bash默认了许多内置变量,这些内置变量的使用,直接影响到bash脚本的行为。
BASH 表示完整路径名字/bin/bash
COLORS 设置文件的颜色:
#!/bin/bash#记录脚本运行的时间,SECONDS变量time_limit=6time_interval=1#while [ "$SECONDS" -le "$time_limit" ]doif [ $SECONDS -lt 7 ]thensecond=1let seconds+=1fiecho "This script already runing $seconds second(s)."sleep $time_intervaldoneexit 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
- Linux Shell 脚本编程从入门到精通 (笔记1)
- 《Linux Shell编程 从初学到精通》 学习笔记
- 《shell从入门到精通》笔记
- LINUX SHELL编程从初学到精通(第一章 Shell脚本编程概述)
- Linux Shell编程从入门到精通(第2版)——互动出版网
- Linux命令(shell)从入门到精通 学习笔记之1:文件安全与权限
- Linux命令(shell)从入门到精通 学习笔记之1:文件安全与权限
- Linux命令(shell)从入门到精通 学习笔记之1 文件安全与权限
- Linux Shell编程从初学到精通
- 《Linux编程从入门到精通》 目录
- Linux编程从入门到精通
- Linux从入门到精通 笔记
- CUDA从入门到精通到精通_笔记1:CUDA编程开发环境的配置
- Linux命令(shell)从入门到精通 学习笔记之2 使用find和xargs
- sm4 从入门到精通(笔记)
- 《linux shell编程从初学到精通》——grep
- linux从入门到精通
- 快速浏览《Linux从入门到精通》笔记
- poj 1406 Starship Hakodate-maru 暴力枚举
- Creating objects on stack or heap
- Java基础视频教程第17天_Collections、Arrays、1.5新特性
- 【Unity技巧】Unity中的优化技术
- Leetcode NO.179 Largest Number
- Linux Shell 脚本编程从入门到精通 (笔记1)
- c- structure initialization
- 设计模式之Observer
- Java并发编程实践 重庆大学 学习笔记 I
- How I Became A Madman
- Java最大的优势真的在于跨平台吗?
- 在Virtualbox中的Ubuntu虚拟机中,安装Guest Additions客户端增强包时出错:分配介质 虚拟光盘 xxx\VBoxsGuestAdditions.iso 到虚拟电脑 xxx 失
- [我的翻译]效代码审查:来自前质疑者的9个建议
- Java-类初始化顺序-2