杂点-shell
- 使用while循环读取文件
cat file.txt |while read line
do
echo $line
done 或者: while read line
do
echo $line
done < file.txt zzx@zzx120:~/zzx1/test/a$ echo -n 1;echo -n 2
12zzx@zzx120:~/zzx1/test/a$ echo -n 1;echo ;echo -n 2 # echo加在 echo -n 中间 可以换行
1
2zzx@zzx120:~/zzx1/test/a$
- zzx@zzx120:~/zzx1/test$ seq 1 2 7 #打印奇数
1
3
5
7 - zzx@zzx120:~/zzx1$ for i in `seq 1 3` 'a' 'x' ;do echo $i; done #循环,包括1,2,3,X,Y
1
2
3
a
x - 算式的结果,例如计算4+3 就用 $[4+3] # 加减乘除都行
zzx@zzx120:~/zzx1$ a=123/123
zzx@zzx120:~/zzx1$ echo ${#a} # ${#var} 得到var的字节数7
bash 的组数(array)处理方法。
一般而言,
A="a b c def"
这样的变量只是将
$A 替换为一个单一的字符串,
但是改为
A=(a b c def) ,则是将
$A 定义为组数...
bash
的组数替换方法可参考如下方法:
${A[@]} 或 ${A[*]} 可得到 # for i in ${A[*]}
a b c def (全部组数)
${A[0]}
可得到
a (第一个组数),${A[1]}
则为第二个组数...
${#A[@]} 或 ${#A[*]} 可得到 4 (全部组数数量)
${#A[0]}
可得到
1 (即第一个组数(a)的长度),${#A[3]}
可得到
3 (第四个组数(def)的长度)
A[3]=xyz
则是将第四个组数重新定义为
xyz ...
#!/bin/bash
a=(
Q
W
E
)
echo sum=${#a[*]}
for i in ${a[*]};do
echo $i;
done
echo first:${a[0]}
echo second:${a[1]}
zzx@zzx120:~/zzx1$ ./forarr.sh
sum=3
Q
W
E
first:Q
second:W- 编辑一个文件 死机 重新打开一个ssh窗口编辑这个文件 可能提示同时编辑的问题
提示E325: ATTENTION错误 文件只读无法编辑
提示 .file.swp 当前文件夹下找到这个文件删除 rm -rf .file.swp 即可解决
.
czzx@zzx103:~$ echo -n "a ";echo -n b ;echo " "; echo -n c #echo -n 不换行输出 echo “ ” 实现换行输出(echo -n 时 echo " " 空行就是换行)
a b
c
列出脚本所在文件夹位置
#!/bin/bash
base_dir=$(cd "$(dirname "$0")";pwd)
echo $base_dir
linux bash中too many arguments问题的解决方法
给命令执行部分加上双引号即可:
今天偶尔因解决一个小问题,遇到了一奇怪的问题“[ ]”和"[[ ]] "的不一样的效果,总结如下
显示一下code: if [ -z ` lsof -i:22 ` ] //这种写法会报too many arguments,改成[[ -z ` lsof -i:22 ` ]]
then
echo "the port is not running"
else
echo "the port is running"
fi
运行这个简单shell脚本时,总是报too many arguments,最后才查到和版本的通用性是有关系的,更简单的说是,"[[ ]]"比"[ ]"具有更好的通用性,所以,为了避免这种问题的发生,直接将"[ ]"替换成"[[ ]]"就可以了。而且”[[ ]]“比“[ ]”比它有更强的容错性,也就是在"[ ]"可能报的错在"[[ ]]结构中可能不报错,比如&&,||等这样的逻辑判断,因不是本篇重点,一带而过了。
杂点-shell的更多相关文章
- linux杂记(十)what is BASH Shell
first,what is shell?其实只要是碰过计算机的,对于OS(Operation System操作系统,不管是linux.unix.windows)有点概念的人大多都听过这个名词,因为只要 ...
- shell脚本杂
1.sh -x 跟踪shell脚本中的每个命令 [root@master shellexer]# cat bash.sh #!/bin/bash var=$ echo $var [root@maste ...
- linux shell 杂
1. 字符串截取 var=http://www.baidu.com/index.html echo ${var} var=http://www.baidu.com/index.html /*从左到右第 ...
- KesionCMS V6.5后台拿SHELL方法
Title:KesionCMS V6.5后台拿SHELL方法 --2011-03-29 00:21 最近弄一个站点,是KesionCMS V6.5的WEB系统,试了下后台拿webshell方法,记下 ...
- 《Shell十三问》笔记(下)
继续开始shell十三问中11-13问和后续补充的笔记,加油! (14)输入重定向与输出重定向 “>”是标准输出重定向,可以把输出结果送入文件 “<”是标准输入重定向,可以重新指定文件的内 ...
- 《shell脚本学习指南》学习笔记之入门
为什么要使用shell脚本? shell脚本能够轻易处理文件与目录之类的对象,而且是各UNIX系统之间经过POSIX标准化的通用的功能,因此Shell脚本只要“用心写”一次,即可应用到很多系统上,因此 ...
- linux,shell脚本set -x的意思
set -x a=10 命令执行结果: + a=10 echo $a + echo 10 10 set指令能设置所使用shell的执行方式,可依照不同的需求来做设置 -a 标示已修改的变量,以供输出至 ...
- linux shell set命令
Linux set命令用于设置shell. set指令能设置所使用shell的执行方式,可依照不同的需求来做设置. 语法 set [+-abCdefhHklmnpPtuvx] 参数说明: -a 标示已 ...
- 菜鸟教程之学习Shell script笔记(上)
菜鸟教程之学习Shell script笔记 以下内容是,学习菜鸟shell教程整理的笔记 菜鸟教程之shell教程:http://www.runoob.com/linux/linux-shell.ht ...
随机推荐
- 结题报告:luogu P2014
题目链接:P2014 选课 简单的树形\(dp\),借助\(dfs\)实现. 一般的树形\(dp\)数组是需要二维的,其中一维记录节点(编号或父/子节点的状态(有时三维)),另一维记录权值或计数. 重 ...
- 题解:luogu P1247
大概没你们说得复杂吧...... \(Part\;1\) \(Nim\)游戏 大家都对异或和感到懵逼吧(排除大佬),其实很简单,用\(SG\)函数打表计算即可解决: 抛个板子: void get_sg ...
- 洛谷 P3801 红色的幻想乡
题目背景 蕾米莉亚的红雾异变失败后,很不甘心. 题目描述 经过上次失败后,蕾米莉亚决定再次发动红雾异变,但为了防止被灵梦退治,她决定将红雾以奇怪的阵势释放. 我们将幻想乡看做是一个n*m的方格地区,一 ...
- lvs负载均衡配置
三台server的ip direct_server:192.168.248.128 real_server1:192.168.248.130 real_server2:192. ...
- SpringBoot-属性配置yaml自定义属性和值
SpringBoot-属性配置yaml自定义属性和值 SpringBoot-属性配置yaml自定义属性和值 在SpringBoot中yml/yaml文件可以自定义一些属性,以供注入给自定义bean对象 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:定时调度
// 完成具体的任务操作 import java.util.TimerTask ; import java.util.Date ; import java.text.SimpleDateFormat ...
- Web UI设计师需要了解的用栅格化系统指导网页设计
出处:https://www.jianshu.com/p/9838f217f4f6 致敬,,, ---------------------------------------------------- ...
- Percona-Toolkit 之 pt-kill 低效SQL
[root@ tools]#vi ptkill_master.confuser=rootpassword=asd.123port=3306busy-time=5printkill /u01/soft/ ...
- bzoj 4008、4011、1499
全是扒题解,,,太弱了... 不乱BB了. 4008 #include <bits/stdc++.h> #define LL long long #define lowbit(x) x&a ...
- python计算:pi/4=1-1/3+1/5-1/7+…
当有一项的绝对值小于10e-6停止计算 def cul() : ans = 0;add = 1 sign = 1 while(1/add>10**(-6)) : ans = ans + sign ...