本文详细解释了linux脚本中的翻译字符、变量数组和各种命令设置。现在让我们一起来学习。
:
目录
1.编写vim环境2的脚本。shell脚本3中环境的定义方法。shell脚本4中的翻译字符。脚本5中的变量数组。系统6中命令的别名设置。脚本7中的引用。脚本中的循环函数。
1.脚本vim环境
脚本中通常会显示一些脚本信息,通过设置vim可以自动显示。
/etc/vimrc这个文件是vim的主配置文件,它的内容是全局生效的。
~/.这个文件是一个vim子文件。在用户主目录下编辑vim的配置文件也是可以控制的,但是只对当前用户生效。
Vim ~/。vimrc编辑配置文件
配置信息的含义 :
Set nu显示行号。
Ts=2表示Tab键相当于2个空格。
将Ettab键转换为空格
Ai表示缩进func是函数类型标志endfunc是函数结束标志call表示调用append表示添加语句(0表示第一行,添加的内容由“”引起)
Autocmd设置当一个新文件以。嘘还是。脚本被创建,添加脚本头信息的函数WESTOS()将被自动调用。
Strftime是指自动识别捕获时间,并以年/月/日的格式输出显示。
!/bin/bash幻数;脚本运行时执行的第一条指令通常是脚本中指定的另一个运行环境。
设置数量ts=2 et ai
autocmd BufNewFile *。嘘,*。脚本调用SHELLTITLE()
func SHELLTITLE()
调用append(0,' ########################### ')
调用append(1,' # Author: lee ')
调用append(2,' # Version: 1.0 ')
call append(3,' # Create_Time:'。strftime('%Y/%m/%d '))
调用append(4,' # Mail: lee@westos.org ')
调用append(5,' # Info:')
调用append(6,' # ')
调用append(7,' # ')
call append(8,' ########################## ')
调用append(9,'')
调用append(10,' #!/bin/bash’)
endfunc
如图:
脚本练习:
(1).建立一个ip_show.sh脚本,让网卡的ip输入后显示出来,空闲时要输入提示。
#!/bin/bash
[ -z '$1' ] {
“echo”错误:请按照脚本输入界面!'
出口
}
ifconfig $ 1 | awk '/\ inet \/{ print $ 2 } '
效果如图:
(2).设置host_messages.sh以显示当前主机的名称和当前主机的ip登录用户。
主机名:
IP地址:
用户名:
#!/bin/bash
“echo”主机名:` hostname `
echo ' IP address:` ifconfig ens 3 | awk '/\ inet \/{ print $ 2 } ' ` '
echo '用户名:$USER '
!注意单引号和反单引号的区别。单引号''是弱引用,所以不能引用\ ` $!单引号```是一个强引用,可以指所有
(3).建立一个clear_log.sh执行脚本来清除日志。
#!/bin/bash
[ '$USER '!='root' ] {
echo '请用root运行$0!'
出口
}
[ !-e '/var/log/messages' ] {
这里没有日志文件!'
出口
}
/var/日志/消息{
echo日志文件已被清除!
出口
}
2.shell脚本中环境的定义方法
环境水平
导出a=1
环境关闭后变量会消失。
用户级别
Vim ~/。bash_profile用户环境变量profile
导出a=1
用户切换后无效。
系统级别
vim /etc/profile的主配置文件
导出a=2
Vim /etc/profile.d/westos.sh子配置文件
出口b=3
设置了这个变量后,系统中的所有用户都可以使用它。
当在shell中指示export a=1指定的变量值时,在脚本中是没有办法识别的,因为两者打开的不是同一个shell。
因此,您可以编辑所需变量source ~/的当前更改信息。变量配置文件中的bash_profile。
Vim ~/。bash_profile用户环境变量profile
用户环境变量profile只对设置的用户生效,在切换用户后该变量变得无效,因为。切换用户后打开shell时,会读取主目录的bash_profile。
Vim /etc/profile系统级环境变量概要文件(通常,在这个概要文件中不编辑信息)
Vim /etc/profile.d/westos.sh系统级环境变量的用户定义的子配置文件(用户定义的名称,不存在)
文件/etc/profile.d/westos.sh生效,系统中所有俄语用户在子配置文件中设置变量后即可使用。
3.shell脚本中的转译字符
翻译单个字符:\
批量翻译字符:''''
单引号是弱引用,不能引用\ ` $!
``反单引号是强引用,可以指所有
4.脚本中变量的数组
a=(1 2 3 4 5)
Echo ${a[0]}显示第一个元素
Echo ${a[-1]}显示最后一个元素
Echo ${a[@]:0:3}从第一个元素开始,总共显示3个元素。
Echo ${a[@]:2:3}从第2个元素开始,显示3个元素
Echo ${#a[@]}显示所有元素
Echo ${#a[*]}显示所有元素
取消设置删除数组
Unsa [0]删除指定的元素。
5.系统中命令的别名设定
Aliaxie=' vim' #临时设置
关闭外壳失效
Vim ~/。bashrc #用户级配置文件
别名谢='vim '
来源~/。bashrc #文件生效
仅对当前用户有效;切换用户后无效。
Vim /etc/bashrc #系统级别
别名谢='vim '
来源~/。bashrc #文件生效
对系统的所有用户有效
删除别名:
删除系统配置文件的内容后
Unaxie #删除当前环境中的别名。
6.脚本中的传参
非交互模式:
sh/mnt/test . sh westos Linux red hat
$0是/mnt/test.sh #脚本本身
$1是在west OS #脚本之后输入的第一个字符串。
$2是linux #的第二个字符串
$3是redhat #的第三个字符串
$*是在脚本“westos linux redhat”之后输入的所有字符
$@是westos linux redhat #脚本后输入的所有字符“westos”、“linux”和“redhat”
$#是3 #个输入字符串
交互模式:
read -p进入交互模式;单词表示变量
#!/bin/bash
请输入单词:“单词
echo $WORD
效果如图:
-s表示隐藏输入的单词。
#!/bin/bash
读-p”请输入单词:“-s”单词
echo $WORD
进入的时候会有一个隐藏的效果,
如图:
脚本练习:
写一个可以创建新用户的脚本,当用户已经存在时提醒你,不存在时让你输入新用户的密码。
#!/bin/bash
[ -z $1 ] {
请输入用户名!'
出口
}
id $1 /dev/null {
echo $ 1是退出!'
}||{
useradd $1 /dev/null
read -p '请输入用户的密码:'-s PASS
回声' '
echo $ PASS | passwd-stdin $ 1/dev/null {
' echo '用户创建成功!'
}
}
效果如图:
7.脚本中的循环函数
#!/bin/bash
回声()
{
[' $ WORD '=' EXIT '-o ' $ WORD '=' EXIT ']{
回声再见
出口
}
请输入单词:单词
echo $WORD
回声
}
回声
函数可以让脚本动作循环执行,
效果如图:
脚本练习:
写一个可以检测文件类型的循环脚本,不存在的时候显示文件不存在,存在的时候输出文件类型。当您输入exit时,输出bye以退出脚本。
#!/bin/bash
文件()
{
[ $1 '$FILENAME' ] {
echo $FILENAME是' $2 '
回声''
支票
}
}
检查()
{
请输入文件名:“文件名
[ '$FILENAME'='exit' ] {
回声再见
出口
}
文件!-e“找不到”
文件-L '链接文件'
文件关闭'公共文件'
文件-d '目录'
文件-S '套接字'
文件-b '块文件'
文件-c 'cahr文件'
支票
}
支票
效果如图:
脚本练习2:
编写一个循环创建用户的脚本。如果用户存在,输出消息是用户已经存在。如果用户不存在,则会创建一个新用户,并且密码在输入时会被隐藏。此时,用户已经创建。系统将提示您输入用户名以创建下一个用户,直到您自愿退出。
#!/bin/bash
创建用户()
{
read -p '请输入用户名: '用户
回声''
[ '$USER'='exit' ] {
回声再见
出口
}
id $USER /dev/null {
echo '$USER正在退出!'
创建用户
}||{
useradd $USER
读取-p '请输入密码:'-s PASS
回声''
echo $ PASS | passwd-stdin $ USER/dev/null {
回声''
echo $USER已创建!
}
}
创建用户
}
创建用户
效果如图:
关于linux脚本基础的详细介绍,这篇文章就到这里了。更多相关的linux script foundation内容,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。