shell基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell基础相关的知识,希望对你有一定的参考价值。

shell开头

#!/bin/bash
#!/bin/sh
#!/usr/bin/awk
#!/usr/bin/env python
#!/usr/bin/perl

这几行在第一行,不再第一行就是注释
不用的话就用相关解释器带上文件名执行
在写脚本的时候如果不加前面的也会交给bash解释,但是还是指定解释器比较好

注意点一

定义变量名的时候等号旁边没有空格

要在登录后显示初始化内容可以将脚本文件放到 /etc/profile.d/

的下面或者是更改/etc/motd 文件

单引号中`` 命令无效

当参数大于9个要使用$方式

touch 主要是用来更新时间的....

使用cat连接两个文件

ln -s 源文件 快捷方式 s表示链接

有多个命令就使用;号,若将输出全都重定向用扩起来,是父shell,()是子shell

注意点二

read读到换行符为止,所以就使用循环可以将文件读完,不然好像只能读一行
黑洞/dev/null 了解一下-.-
cp mv rm 加上-i 进行确认
`command` == $(command)
`read file` 是要求用户输入并且保存到file变量中...
`read -p "" ver `就像scanf一样..(我下所的)
readonly xxx=1 或者readonly xxx(已定义) 表示只读无法改变包括unset
用重定向代替输入

shell中0给了stdin 1给了stdout 2给了stderr

其余数字可以来关联输出文件 例如文件中>&3 命令用3>文件 输出到文件中

exec 将文件关联
paste两个文件连接
tr替换
if空格[] while空格:

expand unexpand 将tab 转换成空格 一般只早开头 使用-a 替换全部

unset 消除定义的变量

$array[*] == $array[@] ""$array[*] != "$array[@]"前面是整个数组的字符串,后面时整个数组

条件语句if or elif 后面要跟上 then 如:

以上是关于shell基础的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本基础变量

shell编程基础shell入门[B站-超哥说shell笔记]

计算机基础-shell操作总结

Linux基础:初识shell之系统命令基础

bash shell基础语法

linux12shell编程 --> shell基础02