問題
判斷用戶是否存在
id user
id $user
變量
判斷vsftpd軟件包被安裝
rpm -q vsftpd
rpm -ql vsftpd >& null
[root@web ~]# rpm -ql vsftpd >/dev/null 2>&1
您在 /var/spool/mail/root 中有郵件
yum install vsftpd
內核主版本判斷
uname -r
cut -d
[root@web ~]# uname -r
3.10.0-1160.el7.x86_64
您在 /var/spool/mail/root 中有郵件
[root@web ~]#
cut -d . f1
if
[root@web ~]# $[ uname -r ]
bash: 0: 未找到命令...
您在 /var/spool/mail/root 中有郵件
[root@web ~]#
sheel 中 [] () {} 區別
a=$( uname -r)
[root@web ~]# cat uname.sh
# discription:setence the numuber of the linux`s type
a=$( uname -r )
b=$( cut -d. 1 $a )
echo $a
echo $b
您在 /var/spool/mail/root 中有郵件
[root@web ~]# ./uname.sh
cut: 您必須指定一組字節、字符或域的列表
Try 'cut --help' for more information.
3.10.0-1160.el7.x86_64
[root@web ~]# cat uname.sh
# discription:setence the numuber of the linux`s type
a=$( uname -r )
b=$( echo $a||cut -d. f1 )
echo $a
echo $b
[root@web ~]# ./uname.sh
3.10.0-1160.el7.x86_64
3.10.0-1160.el7.x86_64
[root@web ~]# cat uname.sh
# description:setence the number of the linux`s type
a=$( uname -r )
b=$( echo "$a" |cut -d. -f1 )
c=$( echo "$a" | cut -d. -f2 )
if $b=2 && $c>=6;then
echo $a
else
fi
[root@web ~]# ./uname.sh
./uname.sh:行8: 未預期的符號 `fi' 附近有語法錯誤
./uname.sh:行8: `fi'
[root@web ~]#
記錄
root@192.168.235.20's password:┌────────────────────────────────────────────────────────────────────┐│ ? MobaXterm 20.0 ? ││ (SSH client, X-server and networking tools) ││ ││ ? SSH session to root@192.168.235.20 ││ ? SSH compression : ? ││ ? SSH-browser : ? ││ ? X11-forwarding : ? (remote display is forwarded through SSH) ││ ? DISPLAY : ? (automatically set on remote server) ││ ││ ? For more info, ctrl+click on help or visit our website │└────────────────────────────────────────────────────────────────────┘Last login: Mon Aug 4 19:19:08 2025 from 192.168.235.1
[root@web ~]# read -p "請輸入用戶名:" user
請輸入用戶名:xiacao
您在 /var/spool/mail/root 中有新郵件
[root@web ~]# id $user &> /dev/null
[root@web ~]# test $? -eq 0
您在 /var/spool/mail/root 中有郵件
[root@web ~]# $?
bash: 1: 未找到命令...
[root@web ~]# vim user.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat user.sh
read -p "請輸入用戶名:" user
id $user &> /dev/null
test $? -eq 0 && echo "該用戶存在" || echo "不存在"
[root@web ~]# chmod +x user.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# ./user.sh
請輸入用戶名:caozx26
該用戶存在
您在 /var/spool/mail/root 中有郵件
[root@web ~]#
[root@web ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-3.0.2
/usr/share/doc/vsftpd-3.0.2/AUDIT
/usr/share/doc/vsftpd-3.0.2/BENCHMARKS
/usr/share/doc/vsftpd-3.0.2/BUGS
/usr/share/doc/vsftpd-3.0.2/COPYING
/usr/share/doc/vsftpd-3.0.2/Changelog
/usr/share/doc/vsftpd-3.0.2/EXAMPLE
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_HOSTS
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_HOSTS/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/README.configuration
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/logins.txt
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS_2
/usr/share/doc/vsftpd-3.0.2/EXAMPLE/VIRTUAL_USERS_2/README
/usr/share/doc/vsftpd-3.0.2/FAQ
/usr/share/doc/vsftpd-3.0.2/INSTALL
/usr/share/doc/vsftpd-3.0.2/LICENSE
/usr/share/doc/vsftpd-3.0.2/README
/usr/share/doc/vsftpd-3.0.2/README.security
/usr/share/doc/vsftpd-3.0.2/REWARD
/usr/share/doc/vsftpd-3.0.2/SECURITY
/usr/share/doc/vsftpd-3.0.2/SECURITY/DESIGN
/usr/share/doc/vsftpd-3.0.2/SECURITY/IMPLEMENTATION
/usr/share/doc/vsftpd-3.0.2/SECURITY/OVERVIEW
/usr/share/doc/vsftpd-3.0.2/SECURITY/TRUST
/usr/share/doc/vsftpd-3.0.2/SIZE
/usr/share/doc/vsftpd-3.0.2/SPEED
/usr/share/doc/vsftpd-3.0.2/TODO
/usr/share/doc/vsftpd-3.0.2/TUNING
/usr/share/doc/vsftpd-3.0.2/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub
您在 /var/spool/mail/root 中有郵件
[root@web ~]# rpm -ql vsftpd >& null
[root@web ~]# rpm -ql vsftpd &> null
您在 /var/spool/mail/root 中有郵件
[root@web ~]# rpm -ql vsftpd >/dev/null 2>&1
您在 /var/spool/mail/root 中有郵件
[root@web ~]# test $? -eq 0
您在 /var/spool/mail/root 中有郵件
[root@web ~]# vim vsftpd.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat vsftpd.sh
rpm -ql vsftpd >/dev/null 2>&1
if [$? -eq 0];then"already installed "
else"not be installed"fi
[root@web ~]# chmod +x vsftpd.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# ./vsftpd.sh
./vsftpd.sh:行2: [0: 未找到命令
./vsftpd.sh:行5: not be installed: 未找到命令
[root@web ~]# vim vsftpd.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat vsftpd.sh
rpm -ql vsftpd >/dev/null 2>&1
if [$? -eq 0];thenecho "already installed "
elseecho "not be installed"fi
[root@web ~]# ./vsftpd.sh
./vsftpd.sh:行2: [0: 未找到命令
not be installed
您在 /var/spool/mail/root 中有郵件
[root@web ~]# vim vsftpd.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat vsftpd.sh
rpm -ql vsftpd >/dev/null 2>&1
if [ $? -eq 0 ];thenecho "already be installed"
elseecho "not be installed"fi
[root@web ~]# ./vsftpd.sh
already be installed
您在 /var/spool/mail/root 中有郵件
[root@web ~]# vim vsftpd1.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat vsftpd1.sh
rpm -ql vsftpd >/dev/null 2>&1if [ $? -eq 0 ];thenecho "already be installed"elseecho "not be installed,will install"yum install vsftpd >/dev/null 2>&1if [ $? -eq 0 ];thenecho " be successfullly installed"elseecho "fail to installed"fi
fi
[root@web ~]# chmod +x vsftpd.sh
[root@web ~]# chmod +x vsftpd1.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# ./vsftpd1.sh
already be installed
您在 /var/spool/mail/root 中有郵件
[root@web ~]# uname -r
3.10.0-1160.el7.x86_64
您在 /var/spool/mail/root 中有郵件
[root@web ~]# uname
Linux
您在 /var/spool/mail/root 中有郵件
[root@web ~]# $[ uname -r ]
bash: 0: 未找到命令...
您在 /var/spool/mail/root 中有郵件
[root@web ~]# a=$( uname -r )
您在 /var/spool/mail/root 中有郵件
[root@web ~]# b=$( cut a -d .1 )
cut: 分界符必須是單個字符
Try 'cut --help' for more information.
[root@web ~]# b=$( cut -d . 1 a)
cut: 您必須指定一組字節、字符或域的列表
Try 'cut --help' for more information.
您在 /var/spool/mail/root 中有郵件
[root@web ~]# b=$( cut -d. 1 a)
cut: 您必須指定一組字節、字符或域的列表
Try 'cut --help' for more information.
[root@web ~]# c=$( cut -d. 2 a)
cut: 您必須指定一組字節、字符或域的列表
Try 'cut --help' for more information.
您在 /var/spool/mail/root 中有郵件
[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# discription:setence the numuber of the linux`s type
a=$( uname -r )
echo $a
[root@web ~]# chmod +x uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# ./uname.sh
3.10.0-1160.el7.x86_64
[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# discription:setence the numuber of the linux`s type
a=$( uname -r )
b=$(cut -d . 1 $a)
echo $a
echo $b
[root@web ~]# ./uname.sh
cut: 您必須指定一組字節、字符或域的列表
Try 'cut --help' for more information.
3.10.0-1160.el7.x86_64[root@web ~]# vim uname.sh
[root@web ~]# cat uname.sh
# discription:setence the numuber of the linux`s type
a=$( uname -r )
b=$( cut -d. 1 $a )
echo $a
echo $b
您在 /var/spool/mail/root 中有郵件
[root@web ~]# ./uname.sh
cut: 您必須指定一組字節、字符或域的列表
Try 'cut --help' for more information.
3.10.0-1160.el7.x86_64[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# discription:setence the numuber of the linux`s type
a=$( uname -r )
b=$( echo $a||cut -d. f1 )
echo $a
echo $b
[root@web ~]# ./uname.sh
3.10.0-1160.el7.x86_64
3.10.0-1160.el7.x86_64
[root@web ~]# vim /uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# description:setence the number of the linux`s type
a=$( uname -r )
b=$( echo "$a" |cut -d. -f1 )
echo $a
echo $b
[root@web ~]# ./uname.sh
3.10.0-1160.el7.x86_64
3
您在 /var/spool/mail/root 中有郵件
[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# description:setence the number of the linux`s type
a=$( uname -r )
b=$( echo "$a" |cut -d. -f1 )
c=$( echo "$a" | cut -d. -f2 )
if $b=2,$c>=6
echo $a
else
fi
[root@web ~]# ./uname.sh
./uname.sh:行7: 未預期的符號 `else' 附近有語法錯誤
./uname.sh:行7: `else '
[root@web ~]# vim uname
您在 /var/spool/mail/root 中有郵件
[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# description:setence the number of the linux`s type
a=$( uname -r )
b=$( echo "$a" |cut -d. -f1 )
c=$( echo "$a" | cut -d. -f2 )
if $b=2 && $c>=6;then
echo $a
else
fi
[root@web ~]# ./uname.sh
./uname.sh:行8: 未預期的符號 `fi' 附近有語法錯誤
./uname.sh:行8: `fi'
[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# description:setence the number of the linux`s type
a=$( uname -r )
b=$( echo "$a" | cut -d. -f1 )
c=$( echo "$a" | cut -d. -f2 )
if [$b -eq 2] && [$c -ge 6];then
echo $a
else
echo "wrong"
fi
[root@web ~]# ./uname.sh
./uname.sh:行5: [3: 未找到命令
wrong
[root@web ~]# vim uname.sh
您在 /var/spool/mail/root 中有郵件
[root@web ~]# cat uname.sh
# description:setence the number of the linux`s type
a=$( uname -r )
b=$( echo "$a" | cut -d. -f1 )
c=$( echo "$a" | cut -d. -f2 )
if [ $b -eq 2 ] && [ $c -ge 6 ];then
echo $a
else
echo "wrong"
fi
[root@web ~]# ./uname.sh
wrong
[root@web ~]#