写一个脚本:
1、创建目录/tmp/scripts
2、切换工作目录至此目录中
3、复制/etc/pam.d目录至当前目录,并重命令为test
4、将当前目录中的test及其里面的文件和子目录的属主改为redhat
5、将test及其子目录中的文件的其它用户的权限改为没有任何权限
#!/bin/bash
#
DIR='/tmp/csripts2'
mkdir $DIR
cd $DIR
cp -rf /etc/pam.d ./test
chown -R redhat ./test
chmod -R o=--- ./test
ls -lR $DIR
unset DIR
--------------------------------------------------------------------------------
写一个脚本:
1、显示当前系统日期和时间,而后创建目录/tmp/lstest
2、切换工作目录至/tmp/lstest
3、创建目录a1d, b56e, 6test
4、创建空文件xy, x2y, 732
5、列出当前目录下以a、x或者6开头的文件或目录;
6、列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录;
#!/bin/bash
#
date
mkdir /tmp/lstest
cd /tmp/lstest
mkdir ald b56e 6test
touch xy x2y 732
ls -ldh [ax6]*
ls -ldh [[:alpha:]][0-9]*
----------------------------------------------------------------------
写一个脚本,完成以下功能:
1、传递两个整数给脚本,让脚本分别计算并显示这两个整数的和、差、积、商。
#!/bin/bash
#
echo "$1+$2 is $[$1+$2]"
echo "$1-$2 is $[$1-$2]"
echo "$1*$2 is $[$1*$2]"
echo "$1/$2 is $[$1/$2]"
-----------------------------------------------------------------------------
写一个脚本:
1、切换工作目录至/var
2、依次向/var目录中的每个文件或子目录问好,形如:
(提示:for FILE in /var/*; 或for FILE in `ls /var`; )
Hello, log
Hello, run
3、统计/var目录下共有多个文件,并显示出来
#!/bin/bash
let SUM=0
for FILE in /var/* ; do
echo "hello, $FILE"
SUM=$[$A+1]
done
echo $SUM
unset SUM
---------------------------------------------------------------------------
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容;(提示:LINE=`head -2 /etc/passwd | tail -1`可以取得第2行)
3、把这些行保存至/tmp/mypasswd文件中
#!/bin/bash
#
FILE=/etc/passwd
exec 3>> /tmp/mypasswd
for N in 2 4 6 10 13 15 ; do
LINE=`head -$N $FILE | tail -1`
echo $LINE
echo $LINE >&1
done
exec 3>&-
unset FILE LINE
---------------------------------------------------------------------------------
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、依次向/etc/passwd中的每个用户问好,形如: (提示:LINES=`wc -l /etc/passwd | cut -d" " -f1`)
Hello, root.
3、统计一共有多少个用户
#!/bin/bash
# hello everyone
FILE=/etc/passwd
let LINE=0
LINE=`wc -l /etc/passwd | cut -d " " -f1`
for U in `seq 1 $LINE` ; do
USERNAME=`head -$U $FILE | tail -1 | cut -d: -f1`
UUID=`head -$U $FILE | tail -1 | cut -d: -f3`
echo "hello $USERNAME"
echo "your UID is $UUID"
done
echo users $LINE
unset LINE U N USERNAME UUID
----------------------------------------------------------------------------------
写一个脚本:
1、设定变量FILE的值为/etc/passwd
2、依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,形如: (提示:LINES=`wc -l /etc/passwd | cut -d" " -f1`)
Hello, root,your UID is 0.
3、统计一共有多少个用户
#!/bin/bash
#
LFS=$'\n'
let A=0
for LINE in `cat /etc/passwd`; do
USERNAME=`echo $LINE | cut -d: -f1 `
ID=`echo $LINE | cut -d: -f3 `
echo "hello, $USERNAME ID $ID"
A=$[$A+1]
done
echo "$A users"
unset LFS SUM LINE USERNAME ID
---------------------------------------------------------------------
写一个脚本:
1、添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加;
#!/bin/bash
#
for I in {1..10} ; do
grep user$$I /etc/passwd &> /dev/null || useradd user$I
done
unset I
----------------------------------------------------------------------
写一个脚本:
1、通过ping命令测试192.168.0.151到192.168.0.254之间的所有主机是否在线,
如果在线,就显示"ip is up."
如果不在线,就显示"ip is down."
#i/bin/bash
#
for I in {151,254} ; do
ping -c1 -W1 192.168.0.$I &>/dev/null && echo "ip is up" || echo "ip is down"
done