从零开始学Shell(一)
1.$表示普通用户,#表示超级用户。
2.sh /home/path/script.sh
3.chmod a+x script.sh 增加可执行权限
./script.sh #./表示当前的目录
4.终端打印:echo 'I love linux'
#!/bin/bash
#file_name:printf.sh
printf "%-5s %-10s %-4s\n" No Name Mark
printf "%-5s %-10s %-4.2s\n" 1 Sarath 80.3456
printf "%-5s %-10s %-4s\n" 2 James 90.9989
printf "%-5s %-10s %-4s\n" 3 Jeff 77.546
%s,%c,%d,%f都是格式替代符,%-5s指明了一个格式为左对齐且宽度为5的字符串替代,没有-表示右对齐;
sh printf.sh
chmod a+x printf.sh
./printf.sh
[root@localhost learn_shell]# echo -e "1\t2\t3"
1 2 3
cat /proc/$PID/environ
[root@localhost learn_shell]# pgrep bash #pgrep 获取bash的进程ID
18585
cat /proc/18585/environ |tr '\o' '\n' # \o代表null字符,tr将\o替换为\n
[root@localhost learn_shell]# var='value'
[root@localhost learn_shell]# echo $var
value
[root@localhost learn_shell]# echo ${var}
value
[root@localhost learn_shell]# cat variables.sh
#!/bin/bash
#file_name:variables.sh
fruit=apple
count=5
echo "We have $count ${fruit}(s)"
[root@localhost learn_shell]# sh variables.sh
We have 5 apple(s)
[root@localhost learn_shell]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin
$PATH通常定义在以下三个文件中
cat /etc/environment
cat /etc/profile
cat ~/.bashrc
给$PATH添加一条新的路径
export PATH="$PATH:/home/user/bin"
PATH="$PATH:/home/user/bin"
export PATH
echo $PATH
echo $HOME
echo $PWD
echo $USER
echo $UID
echo $SHELL = echo $0
[root@localhost learn_shell]# var=123456
[root@localhost learn_shell]# echo ${#var}
6
#!/bin/bash
#file_name:chkuser.sh
if [ $UID -ne 0 ];then
echo None root user.Please run as root
else
echo "Root USER"
fi
[root@localhost learn_shell]# sh chkuser.sh
Root USER
[root@localhost learn_shell]# cat test_let.sh
#!/bin/bash
#file_name:test_let.sh
no1=4;
no2=5;
let result=no1+no2
echo $result
[root@localhost learn_shell]# sh test_let.sh
9
let no1++ 自加操作
let no1-- 自减操作
let no1+=6 (no=no+6)
let no2-=6 (no=no-6)
result=$[ no1 + no2 ]
result=$[ $no1 + 5 ]
result=$(( no1 + 50 ))
result=`expr 4 + 4`
result=$(expr $no1 + 5)
echo "4 * 0.56" | bc
[root@localhost learn_shell]# no1=54
[root@localhost learn_shell]# result=`echo "$no1 * 1.5" | bc`
[root@localhost learn_shell]# echo $result
81.0
[root@localhost learn_shell]# echo "scale=2;3/8" | bc
.37
[root@localhost learn_shell]# echo "scale=3;3/8" | bc
.375
[root@localhost learn_shell]# echo "sqrt(100)" | bc
10
[root@localhost learn_shell]# echo "10^10" | bc
10000000000
[root@localhost learn_shell]# echo "10^2" | bc
100
从零开始学Shell(一)的更多相关文章
- 从零开始学Shell(二)
$1,$2....${10},${11},[root@localhost cee]# cat p.sh #!/bin/bash#file_name:p.shecho $1 $2[root@localh ...
- 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)
Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...
- 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)
你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...
- 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)
硬盘和内存的作用是什么 硬盘的作用毫无疑问我们大家都清楚,不就是用来存储数据文件的么?如照片.视频.各种文档或等等,肯定也有你喜欢的某位岛国老师的动作片,这个时候无论我们电脑是否关机重启它们永远在那里 ...
- 从零开始学 Java - 我放弃了 .NET ?
这不是一篇引起战争的文章 毫无疑问,我之前是一名在微软温暖怀抱下干了近三年的 .NET 开发者,为什么要牛(sha)X一样去搞 Java 呢?因为我喜欢 iOS 阿!哈哈,开个玩笑.其实,开始学 Ja ...
- 从零开始学 Java - Spring 集成 ActiveMQ 配置(二)
从上一篇开始说起 上一篇从零开始学 Java - Spring 集成 ActiveMQ 配置(一)文章中讲了我关于消息队列的思考过程,现在这一篇会讲到 ActivMQ 与 Spring 框架的整合配置 ...
- 从零开始学Python07作业思路:模拟人生小游戏
标签(空格分隔): 从零开始学Python 一,作业说明 模拟人生: 1 定义三个人物,屌丝John,美女Liz,高富帅Peter. John和Liz大学时是恋人,毕业工作后,Liz傍上了Peter, ...
- 从零开始学 Java - 利用 Nginx 负载均衡实现 Web 服务器更新不影响访问
还记得那些美妙的夜晚吗 你洗洗打算看一个小电影就睡了,这个时候突然想起来今天晚上是服务器更新的日子,你要在凌晨时分去把最新的代码更新到服务器,以保证明天大家一觉醒来打开网站,发现昨天的 Bug 都不见 ...
- 从零开始学 Java - log4j 项目中的详细配置
你还会用笔来写字么 我是不怎么会了,有时候老是拿起笔之后不知道这个字怎么写,这时候就会拿起手机去打出来:有时候还会写出来这个字之后越看越不像,这时候就开始怀疑自己的能力了:有时候写出来了一大堆字之后, ...
随机推荐
- fiddler学习总结--Web端抓包
步骤一: Fiddler的基本配置:Tools-->option-->Connections: 就可以进行抓包了 步骤二: 可以通过一些设置过滤: 步骤三: 抓取HTTPS的请求:1.安装 ...
- Pycharm激活方法步骤
Pycharm激活步骤 第一步:找到hosts文件 先按下键盘的win + r ,然后复制c:\windows\system32\drivers\etc粘贴到对话框回车打开文件管理器 第二步:修改ho ...
- P2877 [USACO07JAN]牛校Cow School(01分数规划+决策单调性分治)
P2877 [USACO07JAN]牛校Cow School 01分数规划是啥(转) 决策单调性分治,可以解决(不限于)一些你知道要用斜率优化却不会写的问题 怎么证明?可以暴力打表 我们用$ask(l ...
- 配置cron定时任务
题:配置一个 cron 任务用户 natasha 必须配置一个定时执行任务,每天在本地时间 14:23 时执行命令* /bin/echo hiya 答: # 方法1 # su - natasha # ...
- 剑指offer(57)二叉树的下一个节点
题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 题目分析 这题一定要画图,因为只有画图我们才能分清楚下 ...
- vector和list
vector vector与数组类似,拥有一段连续的内存空间,并且起始地址不变.便于随机访问,时间复杂度为O(1),但因为内存空间是连续的,所以在进入插入和删除操作时,会造成内存块的拷贝,时间复杂度为 ...
- 彻底删除windows残留启动引导
在win7/Win8系统下安装其他系统或者一键重装系统后,安装的系统删除或者一键重装文件删除了,在windows启动管理器中还残留了启动引导选项,影响开机效率. 在系统配置中有些"引导&qu ...
- UnicodeMath编码教程
目录 1. 简介 2. 编码简单数学表达式 2.1 分数 2.2 上标和下标 2.3 空白(空格)字符使用 3. 编码其他数学公式 3.1 open/close分隔符 关于大括号方程组(cases) ...
- 5th,Python购物车模拟
1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退 ...
- tensorflow中batch normalization的用法
网上找了下tensorflow中使用batch normalization的博客,发现写的都不是很好,在此总结下: 1.原理 公式如下: y=γ(x-μ)/σ+β 其中x是输入,y是输出,μ是均值,σ ...