博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Shell 学习(2)
阅读量:6069 次
发布时间:2019-06-20

本文共 1725 字,大约阅读时间需要 5 分钟。

hot3.png

1. quoting

shell会自动对通配符(wildcard)和变量(variable)做扩展,还会自动进行命令替换(command substitution),这个特性很方便;但是,有时我们并不想要这种扩展。
有三种方式可以控制这种扩展。
双引号(double quote):Variable(Yes), Wildcard(NO),Command Substitution(Yes)
单引号(single quote):Variable(NO),Wildcard(NO),Command Substitution(NO)
backslash(\): 在双引号中用backslash可以让$成为一个普通字符,从而使shell不做自动扩展和命令替代。
e.g.
:/home/James/mypro/shell# echo $(date)
2012年 05月 10日 星期四 10:53:07 CST
:/home/James/mypro/shell# echo "$(date)"
2012年 05月 10日 星期四 10:53:13 CST
:/home/James/mypro/shell# echo '$(date)'
$(date)
:/home/James/mypro/shell# echo "\$(date)"
$(date)

2. export语句将某个变量导出到其子进程的环境中。用-n来取消某个变量的“导出”性质。

e.g.
:/home/James/mypro/shell# export MYENV="my env"
:/home/James/mypro/shell# echo $MYENV
my env
:/home/James/mypro/shell# bash
:/home/James/mypro/shell# echo $MYENV
my env
:/home/James/mypro/shell# localenv="local"
:/home/James/mypro/shell# bash
:/home/James/mypro/shell# echo $localenv

e.g.

:/home/James/mypro/shell# export | grep -i myenv
declare -x MYENV="my env"
:/home/James/mypro/shell# export -n MYENV
:/home/James/mypro/shell# export | grep -i myenv

3. 获得用户输入 -p(输出提示),-t(输入超时)
(和用户交互是很重要的!!!)
e.g.
:/home/James/mypro/shell# read -p "Enter Your Name: " name
Enter Your Name: James
:/home/James/mypro/shell# echo $name
James

4. 数学运算
$((expression))
e.g.
:/home/James/mypro/shell# echo $((10 * 5))
50
:/home/James/mypro/shell# echo $((10**5))
100000

吐槽:其对数学运算的内置支持完全没有python好啊。以后什么任务要用到数学计算的,可以分离到python脚本里,然后从shell去调用python脚本。

5. 得到命令的一些infomation
which command-name
whereis command-name
whatis command-name

6. 命令的一些操作
history -- 显示命令历史
Ctrl-r -- 反向查找命令 (比history | grep xxx方便)
!! -- 重复上次命令

7. 判断一个string是否包含substring
 [[ "$string" =~ "$substring" ]]

转载于:https://my.oschina.net/u/158589/blog/56945

你可能感兴趣的文章
C++ 大端小端
查看>>
[WCF-Discovery]让服务自动发送上/下线通知[实例篇]
查看>>
ios编码规范(by raywenderlich团队,靠谱)
查看>>
Firefox 23.0新版浏览器的变化比较大,你如果经常捣鼓firefox的选项卡的人可能已经发现了,选项卡很多地方多有所改变。...
查看>>
【高质量代码】如何写出更高质量的C/C++代码(1):内存管理
查看>>
中国人工智能学会通讯——人类作为“情感机器”——效用函数、情绪和社会偏好...
查看>>
深拓移动运营商市场 博科的发力点是什么?
查看>>
Shodan跟威胁情报公司Recorded Future搞了一个恶意软件猎手 爬虫能扫描僵尸网络C&C服务器...
查看>>
性能优异 联想System x3250 M6助力中小企业腾飞
查看>>
只有程序员才了解的9个真相!
查看>>
《PIC微控制器项目设计:C语言》一2.6 修改控制流
查看>>
自动驾驶多种传感器相互制约 没那么容易遭到黑客攻击
查看>>
搞定大数据:AI和机器学习在数据处理与保护上的应用
查看>>
人工智能将进入能源生产领域
查看>>
以“场景化”接驳“数字化”,浪潮存储驱动三维智能产业
查看>>
消息中间件kafka与activemq、rabbitmq、zeromq、rocketmq的比较
查看>>
企业愿接受虚拟化 云计算最受关注
查看>>
Palo Alto Networks威胁简报:即刻安装补丁程序,以免受到 Android Toast 覆盖的攻
查看>>
不想玩大数据的厨子都不是冒险家
查看>>
IDC云安全评估: 阿里云为最重视安全建设的云服务提供商
查看>>