题目:编写一支程序。它的作用是先查看一下/root/test/logical这个名称是否存在,。。。
程序:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
name=/root/test/logical
#touch $name
if [ -e $name ];then
if [ -f $name ];then
echo "该名称为文件!"
rm $name
mkdir $name
exit 1
fi
if [ -d $name ];then
echo "该名称为目录!"
rmdir $name
exit 1
fi
else
echo "该名称不存在!"
touch $name
fi
题目:我们知道 /etc/passwd 中以 (:)来分隔,第一栏为账号名称,请编写程序,可以将/etc/passwd的第一列取出,而且每一行都以一行字符串“The 1 account is "root" ” 来显示,1,表示行数。
方案一:
#!/bin/bash
accounts=$(cat /etc/passwd | cut -d':' -f1);
for account in $accounts
do
declare -i i=$i+1;
echo "The $i account is \"$account\""
done
方案二:
#!/bin/bash
awk 'BEGIN {FS=":"} {printf "The %s account is \"%s\"\n",NR,$1}' /etc/passwd
鸟哥的Linux私房菜基础学习篇(第…
最新推荐文章于 2024-10-30 16:07:10 发布