Shell学习笔记 September 4, 2018 jobs 任务 sleep 100 # 前台应用,直接输入命令 sleep 100 & # 后台任务,在命令后加`&` jobs # 列出当前后台任务 fg 1 # 将任务1放回前台执行 bg 1 # 将任务1放到后台继续执行,交互式的不会继续运行 kill %1 # 杀掉任务1 pipeline 管道 touch a{0..10} # 创建文件 ls a? | wc -l # 无名管道,输出以a开头文件的行数 mkfifo /temp/f # 创建有名管道 ls a? > f # 输入到管道 wc -l /temp/f # 使用管道 内部命令 #!/bin/bash # 设置执行器 type who # 查看命令的类型 help # 查看帮助 alias g='git' # 别名 echo '123' # 打印 pwd # 打印当前路径 cd # 改变路径 : # 空操作,永真 常用外部命令 head -n 1 test.sh # 查看test.sh第一行 tail -n 1 test.sh # 查看test.sh最后一行 echo a:b:c:d | cut -d: f1 # 剪切 basename /test/test.sh # strip directory and suffix from filenames mkdir -p a/b/c # 创建目录 rm -rf a # 强制删除 sort -rn nums.test # 排序 -n 按数字 -r 逆序 ls a && echo find || echo no find #连接符号 变量 name=xx # 初始化 echo $name # 输出xx unset name # 删除name里的值 echo $name # 输出空行 name=xx name='$name xx' # 单引号,不使用name中存储的值 echo $name # $name xx name=xx name="$name xx" # 双引号,使用name中的值 echo $name # xx xx 数组 A=(1, 2, 3) # 定义数组A echo ${A[0]} # 访问A中第一个元素 echo ${A[@]} # 访问A中所有元素 echo ${#A[@]} # 输出长度 for i={0..2}; do echo ${A[i]}; done # 遍历 Here Document cat>file<<ENDF ENDF # 多行输出 comments powered by Disqus