拓扑园

  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队-Oracle脚本合集(文章)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL相关
  • Linux
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
Oracle数据库恢复专家团队:TEL:18562510581(微信同号);QQ:284833194;QQ群:496333360
天高任鸟飞
  1. 首页
  2. Linux
  3. 正文

SHELL命令学习-1

2020年9月10日 360点热度 0人点赞 0条评论

目录

  • 1、echo " hello world"
  • 2、date +%Y%m%d %H:%M:%S
  • 3、变量:var1=123  echo $var1
  • 4、变量嵌套 $($()):
  • 5 、shell中单引号和双引号区别
  • 6、给变量值赋于多个单词,需要使用单引号和双引号
  • 7、赋值时单引号和双引号的区别:
  • 8、删除变量:unset var1
  • 9、环境变量:
  • 10、配置文件加载顺序
  • 11、执行一个脚本test.sh的权限
  • 12、shell位置变量
  • 14、数字变量
    • (1) expr命令:对数字的基本计算,做比较时,输出结果假为0,1为真;特殊符号用转义符
    • (2)使用$(())
  • 15、

1、echo " hello world"

2、date +%Y%m%d %H:%M:%S

3、变量:var1=123  echo $var1

4、变量嵌套 $($()):

var6=$(tar zcvf test.tar.gz $(find -name test.sh))  ;echo $var6

5 、shell中单引号和双引号区别

(1)' '在单引号中所有的字符包括特殊字符($,'',`和\)都将解释成字符本身而成为普通字符。

(2)" "   在双引号中,除了$, '', `和\以外所有的字符都解释成字符本身,拥有“调用变量的值”、“引用命令”和“转义符”的特殊含义

注:\转义符,跟在\之后的特殊符号将失去特殊含义,变为普通字符。如\$将输出“$”符号,而不当做是变量引用。如:echo $var1 和echo \$var1

6、给变量值赋于多个单词,需要使用单引号和双引号

7、赋值时单引号和双引号的区别:

单引号之间的内容原封不动赋值给变量,

双引号之间的内容如有特殊符号会保留它的特殊含义

8、删除变量:unset var1

9、环境变量:

在bash shell中,环境变量分为两类:全局变量和局部变量

全局变量:对于shell会话和所有的子shell都是可见的, export var1=123,可以在当前用户的任意shell下使用。此操作非永久生效,如果需要,设置profile中

局部变量: 它只在自己的进程当中使用    var1=123

10、配置文件加载顺序

[root@xuegod63 ~]# echo 'echo  /etc/profile ' >> /etc/profile

[root@xuegod63 ~]# echo 'echo  /etc/bashrc' >> /etc/bashrc

[root@xuegod63 ~]# echo 'echo  /root/.bashrc ' >> /root/.bashrc

[root@xuegod63 ~]# echo 'echo  /root/.bash_profile ' >> /root/.bash_profile

[root@xuegod63 ~]# ssh root@192.168.1.63   #弹出以下信息,就知道有优先级了

/etc/profile

/etc/bashrc

/root/.bashrc

/root/.bash_profile

11、执行一个脚本test.sh的权限

(1)如果test.sh没有+x权限,可以使用sh test.sh 或bash bash.sh或source backup.sh
(2)如果test.sh 有+x权限,可以使用(1)中所有命令,同时可以使用./test.sh,或PATH=/data/test.sh:$PATH后,直接在任意目录下执行test.sh

12、shell位置变量

Shell解释执行用户的命令时,将命令行的第一个字符作为命令名,而其它字符作为参数。

(1)$0  获取当前执行shell脚本的文件文件名,包括脚本路径,命令本身

(2)$n  获取当前脚本的第n个参数 n=1,2.....n 当n大于9时 用${10}表示。

使用场景:[oracle@localhost data]$ /etc/init.d/network start

13、 特殊变量

有些变量是一开始执行Script脚本时就会设定,且不能被修改,但我们不叫它只读的系统变量,而叫它特殊变量。这些变量当一执行程序时就有了,以下是一些特殊变量:

$* 以一个单字符串显示所有向脚本传递的参数;

如"$*"用【"】括起来的情况、以"$1 $2 … $n"的形式输出所有参数

$# 传递到脚本的参数个数
$$ 当前进程的进程号PID
$? 显示最后命令的退出状态;0表示没有错误,其他任何值表明有错误
$! 后台运行的最后一个进程的进程号pid

例子:

[root@xuegod63 ~]# vim special_variable.sh  #写入以一下内容
#!/bin/bash
echo "$* 表示这个程序的所有参数 "
echo "$#  表示这个程序的参数个数"
echo "$$  表示程序的进程ID "
touch /tmp/b.txt &
echo "$!  执行上一个后台指令的PID"
echo "$$  表示程序的进程ID "
echo "$? 表示上一个程序执行返回结果 "

[root@xuegod63 ~]# bash special_variable.sh  11 22 33 44 55
11 22 33 44 55 表示这个程序的所有参数 
11 22 33 44 55 表示这个程序的所有参数 
5  表示这个程序的参数个数
45502  表程序的进程ID 
45504  执行上一个后台指令的PID
45502  表程序的进程ID
0 表示上一个程序执行返回结果

14、数字变量

(1) expr命令:对数字的基本计算,做比较时,输出结果假为0,1为真;特殊符号用转义符

[root@xuegod63 ~]# expr 2 \> 5
0
[root@xuegod63 ~]# expr 6 \> 5
1
对字符串的处理
[root@xuegod63 ~]# expr length "ni hao"

6

(2)使用$(())

[root@localhost ~]# b=$((1+4))
[root@localhost ~]# echo $b
5
[root@localhost ~]# ((a=1+4))
[root@localhost ~]# echo $a
5

格式:$((表达式1,表达2))

特点:

1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等。a++  等价于 a=a+1

2、在双括号结构中,所有变量可以不加入:“$”符号前缀。

3、双括号可以进行逻辑运算,四则运算

4、双括号结构 扩展了for,while,if条件测试运算

5、支持多个表达式运算,各个表达式之间用“,”分开

常用的算数运算符

运算符    意义
++   -- 递增及递减,可前置也可以后置
+  -  ! ~ 一元运算的正负号 逻辑与取反
+  -  *  /   % 加减乘除与余数
<   <=   >   >= 比较大小符号

15、

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020年9月12日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号