首页 > 代码库 > shell基础使用笔记
shell基础使用笔记
创建10用户user1-user10;
[root@mini ~]# vim user.sh
#!/bin/bash #注释为bash
for((i=1;i<=10;i++))#条件
do #动作
useradd user$i # 添加用户,$i为变量(i=i+1,一直执行到i<=10)
echo "user$i" | passwd --stdin user$i #打印出来,创建用户密码同用户名一致
echo "jiejie" | passwd --stdin user10#给用户user10密码为jiejie;
done #完成
[root@mini ~]# vim file.sh
#!/bin/bash
touch file{10..19}#创建10个空文件file10-file19
打印九九乘法表
[root@mini ~]# vim Multiplicationtable.sh
#!/bin/bash
for((i=1;i<=9;i++))#条件语句
do
for((j=1;j<=$i;j++))#条件语句
do
echo -e -n "$j*$i=$[$i*$j]\t"#显示以行为首
done
echo""
done
[root@mini ~]# vim passwd.sh
#!/bin/bash
read -p "please input your password >" num #交互式
echo "your password $num"
每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
[root@mini ~]# mkdir /stats; touch memory.txt
[root@mini ~]# crontab -e
1 */2 * * * grep -E "^S" /proc/meminfo >> /stats/memory.txt
写一个脚本,使用ping命令探测192.168.0.1-192.168.0.254之间的所有主机的在线状态;
在线的主机使用绿色显示;
#!/bin/bash
ipaddr="192.168.0."
for i in {1..254}
do
ping -c 1 $ipaddr$i &> /dev/null;
if [ $? -eq 0 ]
then
echo -e "\e[1;32m$ipaddr$i\e[0m"
else
echo -e "\e[1;41m$ipaddr$i\e[0m"
fi
done
echo选项:
使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
read选项
-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒)
shell基础使用笔记