linux shell脚本练习题(1)

1.通过命令行参数给定两个参数
第一个参数作为文本文件名,显示文件的元数据信息,并将信息保存到给定的第二个参数的文件中

			#!/bin/bash
			stat $1
			stat $1 &> $2
			cat $2

2.显示当前脚本文件名 并将当前脚本复制到/emp

			#!/bin/bash
			#显示当前脚本名
			echo $0
			#复制到/emp目录下
			cp $0 /emp

3.编写shell脚本,实现两个变量之间的加减乘除运算

			#!/bin/bash
			read -p "number:" a
			read -p "number:" b
			read -p "fuhao:" c
			case $c in
			+)let "sum=$a+$b"
			echo $sum;;
			-)let "sum=$a-$b"
			echo $sum;;
			*)let "sum=$a*$b"
			echo $sum;;
			/)let "sum=$a/$b"
			echo $sum;;
			esac

4.通过命令行参数给定一个用户名,判断当前用户是否存在?
如果存在 查看当前用户有没有设置密码,没有设置密码需要初始化用户密码为123456
如果不存在 需要添加用户,并初始化密码

			#!/bin/bash
			if ! grep "^$1\>" /etc/passwd &>/dev/null; then
			        useradd $1 -p 123456
			else
			pwds=$(cut -d: -f2 /etc/shadow)
			if [[ $pwds=="!!" || $pwds=="*" ]];then
			passwd $1
			fi
			fi

5.写一个脚本
显示当前系统日期和时间,而后创建目录/tmp/lstest
切换工作目录到/tmp/lstest
创建目录 ald b56e 6test
创建空文件 xy x2y 732
列出当前目录下 以a,x 或者6 开头的文件或者目录
列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录

			#!/bin/bash
			#日期
			date
			#创建
			mkdir -p /tmp/lstest
			#切换
			cd /tmp/lstest
			#创建
			mkdir ald b56e 6test
			#创建
			touch xy x2y 732
			#列出
			ls [ax6]*
			#列出
			ls [[:alpha:]][[:digit:]]*

6.取出系统IP地址,打印ip地址

			#!/bin/bash
			hostname -I

7.任意三个整数,判断最大数

			#!/bin/bash
			max=$1
			[ $2 -gt $max ] && max=$2
			[ $3 -gt $max ] && max=$3
			echo max is $max

8.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息

			#!/bin/bash
			cat >> $1 << end
			#!/bin/bash
			end 
			chmod u+x $1
			echo "OK!"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值