shell_Day05
交互输入
read Python中用input()函数,进行输入;
read命令同时可以定义多个变量值;而输入的内容默认以空格为分隔符,将值输入到对应的变量中;
如果默认值过多,最后所有的值都会被赋予给最后一个变量;
如果默认值过少,多余的变量则为空值;
如果默认值过多,最后所有的值都会被赋予给最后一个变量;
如果默认值过少,多余的变量则为空值;
示例:
read a b c
aa bb cc
我们需要 echo -n 取消换行符号
echo "请输入一个目录:";read 变量
请输入一个目录:\etc
常用参数:
-p
read -p "请输入一个目录:" 变量
-t 定义超时时间
read -t 5 -p "请输入一个目录:" 变量
read a b c
aa bb cc
read如何输入:
echo "请输入一个目录:"我们需要 echo -n 取消换行符号
echo "请输入一个目录:";read 变量
请输入一个目录:\etc
常用参数:
-p
read -p "请输入一个目录:" 变量
-t 定义超时时间
read -t 5 -p "请输入一个目录:" 变量
for语句的应用场景:
有一个功能,这个功能需要循环执行,只是执行对象不同;【对象必须是同类数据】for语句格式:
a=['a','b','c'] -- 在Python程序中,我们很多情况下,需要调用相应的方法去生成列表;for 变量 in 列表;do
循环体
done
for语句的另外一种写法:
for((初始条件; 条件判断语句; 值变化语句));do
循环体
done
循环体
done
while语句的格式
初始值while 条件 ;do
循环体
let i++ //变化初始值
done
echo
-e : 使echo命令,能够识别 特殊字符;\r 回车不换行
\n 换行符
\t 制表符 tab = 4个空格
列表的生成方式:
直接给出字符串列表for i in a b c d e ;do
循环体
done
整数列表
a {start ... end} // {1..1}是不行的 {1..9} == python range{1,100}
b seq 命令引用 $(seq [start [step]] end)
步长 python range{1,100,2}
seq 20 30
a {start ... end} // {1..1}是不行的 {1..9} == python range{1,100}
b seq 命令引用 $(seq [start [step]] end)
步长 python range{1,100,2}
seq 20 30
返回列表的命令
$(COMMAND)
$(COMMAND)
vim 常见用法:
命令模式:dd 剪切
5dd
p 粘贴
yy 复制
5yy
p 粘贴
test
1、test的命令的option的 -a -o 只在命令中使用;例如 [ `du -h $filename | cut -d: -f1` -lt 100K -a -x $filename ]
test `du -h $filename | cut -d: -f1` -lt 100K -a -x $filename
注意:做字符串匹配的时候,不支持正则以及通配符
2、test test == [[ ]]
再连接两个test的命令的时候,不能使用命令内部option -o -a
一般使用 || && == != >= <=
[[ yum.log == *.log ]]
传参
$@ $* 将参数做为for循环的列表
$0 -- 和 awk 不一样
bash中$0代表运行的脚本文件;
awk中$0整行内容 --- awk按行执行
需要多个词的时候用 "$@",需要一个词的时候用 "$*"
$0 -- 和 awk 不一样
bash中$0代表运行的脚本文件;
awk中$0整行内容 --- awk按行执行
需要多个词的时候用 "$@",需要一个词的时候用 "$*"
作者: 千纪
出处: https://www.cnblogs.com/diyudewudao/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, https://www.cnblogs.com/diyudewudao/ 如有问题, 可邮件(diyudewudao@qq.com).
注:不要在意标题,在某些情况下名字都只是个代号不是。