码迷,mamicode.com
首页 > 系统相关 > 详细

linux的shell学习笔记

时间:2018-01-27 23:14:57      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:test   index   更改   重定向   例子   header   gpo   queue   状态   

shell脚本第一行写明解释器的路径: #!/bin/bash
运行脚本两种方式:使用bash命令运行shell文件,或授予脚本文件执行权限,可直接执行文件
shell启动时,一开始执行一组命令来定义提问文本、颜色等设置,命令存放在~/.bashrc中
登录shell放在~/.bash_profile
shell历史记录文件~/.bash_history
bash中每个命令或命令序列通过使用分号或换行符来分隔

echo用于终端打印
printf 用于终端打印
env 查看所有与终端相关的环境变量
cat /proc/$PID/environ 查看进程的环境变量 (PID设置成进程的ID,总是一个整数)
pgrep 进程名 获取进程的ID

变量赋值和变量相等操作要区分
变量赋值:var=value
变量相等操作: var = value

export 用来设置环境变量
export PATH="$PATH:/home/usr/bin"
或者
PATH="$PATH:/home/usr/bin"
export PATH

常用的环境变量有: PATH HOME PWD USER UID SHELL

获取变量长度的方法: ${#var}

数学运算使用 let (()) [] 方式,高级操作时使用expr,bc

使用let时,变量名之前不需要再添加$
no1=4;
no2=5;
let result=no1+no2

let支持++自加操作 --自减操作 let no1++ let no1-- let no1+=6 let no1-=6

[]操作符 []中也可以使用$前缀
result=$[no1 + no2] result=$[$no1 + 5]

使用(())时,变量名之前需要加$
result=$((no1 + 50))

expr用于基本算数操作时,不支持浮点数,支持整数
bc也是一个计算工具

stdin为 0 stdout为1 stderr2
> 输出文本重定向或保存到一个文件中 目标文件中内容会被清空
>> 文本追加到目标文件中

将错误和输出重定向: 1>out.txt 2>err.txt
将错误和输出重定向到一个文件 2>&1 out.txt 或者 &> out.txt

查看文件内容 cat tmp.txt
$?获取命令执行的状态码 echo $?

更改文件的权限: chmod 000 a.txt 给文件增加可执行权限: chmod +x a.out


在控制台显示输出并重定向到一个文件中覆盖原来文件: cat a.txt | tee out.txt

在控制台显示输出并重定向到一个文件,在原来的文件上追加内容: cat a.txt | tee -a out.txt

使用stdin作为命令参数。只需要将-作为命令的文件名参数即可:$ cmd1 | cmd2 | cmd -

将文件重定向,作为命令输入: cmd < file

将脚本内部的文本块进行重定向:cat<<EOF>log.txt与EOF之间的内容作为stdin的部分输入到log.txt中
cat<<EOF>log.txt
LOG FILE HEADER
EOF

创建自定义文件描述符: exec 3<input.txt #使用文件描述符3打开并读取文件input.txt
创建并使用自定义文件描述符过程:[追加模式很相似]
exec 3<input.txt
cat <&3

数组的声明:array_var=(1 2 3 4) 或 array_var[0]="test1" array_var[1]="test2"
输出数组内容: ${array_var[0]} 或index=1 ${array_var[$index]}
以清单形式打印所有值: ${array_var[*]}或${array_var[@]}
打印数组的长度(个数) ${#array_var[*]}

定义一个关联数组: declare -A ass_array
添加元素的方法: ass_array=([index1]=val1 [index2]=val2) 或 ass_array[index1]=val1 ass_array[index2]=val2

使用别名 alias
alias new_command=‘command sequeue‘ 例子:alias install=‘sudo apt-get install‘

linux的shell学习笔记

标签:test   index   更改   重定向   例子   header   gpo   queue   状态   

原文地址:https://www.cnblogs.com/zhangdewang/p/8367455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!