vsftpdok
bash
[root@web ~]# vim vsftpdok.sh
您在 /var/spool/mail/root 中有新邮件
[root@web ~]# cat vsftpdok.sh
rpm -ql vsftpd >/dev/null 2>&1
if [ $? -eq 0 ];then
echo "OK"
else
yum install vsftpd -y
if [ $? -eq 0 ];then
echo "install ok"
else
echo "not install"
fi
fi
[root@web ~]# chmod +x vsftpdok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./vsftpdok.sh
OK
uname -r
bash
[root@web ~]# cat unameok.sh
a=$(uname -r)
echo $a
if [ $? -eq 0 ];then
main=`echo $a|cut -d "." -f1`
extra=`echo $a|cut -d "." -f2`
echo $main
echo $extra
if [ $main == 2 ]&&[ $extra >= 6 ];then
echo $a
else echo "wrong"
fi
fi
[root@web ~]# ./unameok.sh
3.10.0-1160.el7.x86_64
3
10
wrong
vsftpd port pid
bash
[root@web ~]# cat ftpok.sh
a=$(ss -naltp|grep vsftpd)
if [ $? == 0 ];then
port=`echo $a|cut -d ":" -f4`
realport=`echo $port|cut -c1-2`
pid=`echo $a|cut -d ":" -f8`
realpid=`echo $pid|cut -d "," -f2`
echo "vsftpd.server has been started"
echo "vsftpd listen on:"$realport
echo "vsftpd's process pid is:"$realpid
else
echo "vsftpd not start"
fi
[root@web ~]# ./ftpok.sh
vsftpd.server has been started
vsftpd listen on:21
vsftpd's process pid is:pid=1735
[root@web ~]# ss -naltp |grep vsftpd
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=1735,fd=4))
for
bash
[root@web ~]# cat testcfor.sh
for (( i=1;i<=5;i++))
do
echo $i
done
[root@web ~]# chmod +x testcfor.sh
[root@web ~]# ./testcfor.sh
1
2
3
4
5
[root@web ~]# vim testcfor.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat testcfor.sh
for (( i=1;i<=5;i++))
do
echo $i
done
for (( i=1;i<=5;i++))
do
echo $i
done
for ((i=1;i<=10;i+=2))
do
echo $i
done
for ((i=2;i<=10;i+=2))
do
echo $i
done
[root@web ~]# ./testcfor.sh
1
2
3
4
5
1
2
3
4
5
1
3
5
7
9
2
4
6
8
10
奇数和 <100
bash
[root@web ~]# vim sum.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat sum.sh
declare -i sum=0
for (( i=1;i<=100;i+=2 ))
do
sum+=i
done
echo "sum is:"$sum
[root@web ~]# ./sum.sh
sum is:2500
touch
bash
[root@web ~]# vim for51.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat for51.sh
for i in {1..5}
do
test $i -eq 2 && break || touch /tmp/ffile$i
done
echo lllllll
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ls /tmp
1.txt sys-20250804.tar.gz
2.txt sys-20250805.tar.gz
3.txt sys-20250806.tar.gz
5.txt sys-20250807.tar.gz
6.txt sys-20250810.tar.gz
abc.txt sys-20250811.tar.gz
dir1 systemd-private-6f37c267bc534142983b62ad1ab0be9a-bolt.service-LMvltW
dir2 systemd-private-6f37c267bc534142983b62ad1ab0be9a-chronyd.service-UWJorp
file1 systemd-private-6f37c267bc534142983b62ad1ab0be9a-colord.service-tLvcX3
file2 systemd-private-6f37c267bc534142983b62ad1ab0be9a-cups.service-LjtpWQ
file3.patch systemd-private-6f37c267bc534142983b62ad1ab0be9a-rtkit-daemon.service-gttbXa
file5 systemd-private-e06954d935da43dd9840443262c2b912-bolt.service-Shxrsd
file6.patch systemd-private-e06954d935da43dd9840443262c2b912-chronyd.service-NvD4bP
file.patch systemd-private-e06954d935da43dd9840443262c2b912-colord.service-N0eYTb
passwd systemd-private-e06954d935da43dd9840443262c2b912-cups.service-xuO8Nz
swapfile systemd-private-e06954d935da43dd9840443262c2b912-rtkit-daemon.service-BM4Ksb
sys-20250728.tar.gz vmware-root_1022-2999133054
sys-20250729.tar.gz vmware-root_1207-3979642956
sys-20250730.tar.gz vmware-root_1329-4256610699
sys-20250731.tar.gz vmware-root_845-4021653450
sys-20250801.tar.gz vmware-root_971-4290232077
sys-20250803.tar.gz
素数判断
bash
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if [ $n -le 1 ];then
echo "n is not a prime number"
exit 0
fi
is_prime=0
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
is_prime=1
break
fi
done
if [ is_prime == 0 ];then
echo $n " is a prime number "
else
echo $n " is not prime number"
fi
[root@web ~]# ./judgeprime.sh
please input a number:1
n is not a prime number
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./judgeprime.sh
please input a number:5
5 is not prime number
问题
bash
[root@localhost yum.repos.d]# cat local.repo
[local yum]
name = local yum
baseurl = file:///mnt
gpgcheck = 0
enabled =1
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror
Bad id for repo: local yum, byte = 5
Loading mirror speeds from cached hostfile
There are no enabled repos.
Run "yum repolist all" to see the repos you have.
To enable Red Hat Subscription Management repositories:
subscription-manager repos --enable <repo>
To enable custom repositories:
yum-config-manager --enable <repo>
[root@localhost yum.repos.d]#
bash
[root@localhost yum.repos.d]# echo ${a[@]}
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))
[root@localhost yum.repos.d]# c=("echo ${a[@]}|cut -d ":" -f8")
[root@localhost yum.repos.d]# echo $c
echo LISTEN
[root@localhost yum.repos.d]# echo {c[@]}
{c[@]}
[root@localhost yum.repos.d]# echo ${c[@]}
echo LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))|cut -d : -f8
bash
[root@localhost yum.repos.d]# d=("echo ${a[@]}|cut -d ":" -f6")
[root@localhost yum.repos.d]# echo $d
echo LISTEN
[root@localhost yum.repos.d]# echo ${d[@]}
echo LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))|cut -d : -f6
bash
[root@web ~]# a=("uname -r")
[root@web ~]# echo $a
uname -r
您在 /var/spool/mail/root 中有邮件
[root@web ~]# a=(`uname -r`)
[root@web ~]# echo $a
3.10.0-1160.el7.x86_64
[root@web ~]#

bash
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $hostname
[root@web ~]# echo $(hostname)
web.cn
{}
()
[]
a
bash
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" $n
for i in {1..n}
do
if [ i != 1 ] && [ i != $n ] && [ $n%i == 0 ];then
echo $n" is a prime number " && break
else
fi
done
echo $n"is a prime number"
[root@web ~]# chmod +x judgeprime.sh
[root@web ~]# ./judgeprime.sh
please input a number:2
./judgeprime.sh:行8: 未预期的符号 `fi' 附近有语法错误
./judgeprime.sh:行8: `fi'

bash
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if [ n <= 1 ];then
echo "n is not a prime number"
exit 0
fi
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
echo $n" is not prime number " && break
fi
done
echo $n"is a prime number"
[root@web ~]# ./judgeprime.sh
please input a number:4
./judgeprime.sh:行3: =: 没有那个文件或目录
4 is not prime number
4is a prime number
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./judgeprime.sh
please input a number:1
./judgeprime.sh:行3: =: 没有那个文件或目录
1 is not prime number
1is a prime number
[root@web ~]#

记录

bash
root@192.168.131.5's password:
┌──────────────────────────────────────────────────────────────────────┐
│ • MobaXterm Personal Edition v24.3 • │
│ (SSH client, X server and network tools) │
│ │
│ ⮞ SSH session to root@192.168.131.5 │
│ • Direct SSH : ✓ │
│ • SSH compression : ✓ │
│ • SSH-browser : ✓ │
│ • X11-forwarding : ✗ (disabled or not supported by server) │
│ │
│ ⮞ For more info, ctrl+click on help or visit our website. │
└──────────────────────────────────────────────────────────────────────┘
Last login: Mon Aug 11 21:09:27 2025
[root@localhost ~]# ls
anaconda-ks.cfg
[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo
[root@localhost yum.repos.d]# tar -zcf repo.tar.gz *.repo
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo CentOS-Sources.repo repo.tar.gz
[root@localhost yum.repos.d]# rm -rf *.repo
[root@localhost yum.repos.d]# ls
repo.tar.gz
[root@localhost yum.repos.d]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom
[root@localhost yum.repos.d]# cat /mnt
cat: /mnt: 是一个目录
[root@localhost yum.repos.d]# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# mount -o ro /dev/sr0 /mnt
[root@localhost mnt]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.4G 0 rom /mnt
[root@localhost mnt]# chmod +x /etc/rc.local
[root@localhost mnt]# echo "mount -o ro /dev/sr0 /mnt">>/etc/rc.local
[root@localhost mnt]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
mount -o ro /dev/sr0 /mnt
[root@localhost mnt]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# ls
repo.tar.gz
[root@localhost yum.repos.d]# vim local.repo
-bash: vim: 未找到命令
[root@localhost yum.repos.d]# vi local.repo
[root@localhost yum.repos.d]# cat local.repo
[local yum]
name = local yum
baseurl = file:///mnt
gpgcheck = 0
enabled =1
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror
Bad id for repo: local yum, byte = 5
Loading mirror speeds from cached hostfile
There are no enabled repos.
Run "yum repolist all" to see the repos you have.
To enable Red Hat Subscription Management repositories:
subscription-manager repos --enable <repo>
To enable custom repositories:
yum-config-manager --enable <repo>
[root@localhost yum.repos.d]# vi local.repo
[root@localhost yum.repos.d]# cat local.repo
[local]
name = local yum
baseurl = file:///mnt
gpgcheck = 0
enabled =1
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: local
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
已加载插件:fastestmirror
Determining fastest mirrors
local | 3.6 kB 00:00
(1/4): local/group_gz | 153 kB 00:00
(2/4): local/primary_db | 3.3 MB 00:00
(3/4): local/filelists_db | 3.3 MB 00:00
(4/4): local/other_db | 1.3 MB 00:00
元数据缓存已建立
[root@localhost yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识 源名称 状态
local local yum 4,070
repolist: 4,070
[root@localhost yum.repos.d]# yum install vim -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vim-enhanced.x86_64.2.7.4.629-7.el7 将被 安装
--> 正在处理依赖关系 vim-common = 2:7.4.629-7.el7,它被软件包 2:vim-enhanced-7.4.629-7.el7.x86_64 需要
--> 正在处理依赖关系 libgpm.so.2()(64bit),它被软件包 2:vim-enhanced-7.4.629-7.el7.x86_64 需要
--> 正在检查事务
---> 软件包 gpm-libs.x86_64.0.1.20.7-6.el7 将被 安装
---> 软件包 vim-common.x86_64.2.7.4.629-7.el7 将被 安装
--> 正在处理依赖关系 vim-filesystem,它被软件包 2:vim-common-7.4.629-7.el7.x86_64 需要
--> 正在检查事务
---> 软件包 vim-filesystem.x86_64.2.7.4.629-7.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
vim-enhanced x86_64 2:7.4.629-7.el7 local 1.1 M
为依赖而安装:
gpm-libs x86_64 1.20.7-6.el7 local 32 k
vim-common x86_64 2:7.4.629-7.el7 local 5.9 M
vim-filesystem x86_64 2:7.4.629-7.el7 local 11 k
事务概要
================================================================================
安装 1 软件包 (+3 依赖软件包)
总下载量:7.0 M
安装大小:23 M
Downloading packages:
--------------------------------------------------------------------------------
总计 44 MB/s | 7.0 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 2:vim-filesystem-7.4.629-7.el7.x86_64 1/4
正在安装 : 2:vim-common-7.4.629-7.el7.x86_64 2/4
正在安装 : gpm-libs-1.20.7-6.el7.x86_64 3/4
正在安装 : 2:vim-enhanced-7.4.629-7.el7.x86_64 4/4
验证中 : 2:vim-common-7.4.629-7.el7.x86_64 1/4
验证中 : gpm-libs-1.20.7-6.el7.x86_64 2/4
验证中 : 2:vim-filesystem-7.4.629-7.el7.x86_64 3/4
验证中 : 2:vim-enhanced-7.4.629-7.el7.x86_64 4/4
已安装:
vim-enhanced.x86_64 2:7.4.629-7.el7
作为依赖被安装:
gpm-libs.x86_64 0:1.20.7-6.el7 vim-common.x86_64 2:7.4.629-7.el7
vim-filesystem.x86_64 2:7.4.629-7.el7
完毕!
[root@localhost yum.repos.d]# rpm -qlvsftpd
rpm: -qlvsftpd: 未知的选项
[root@localhost yum.repos.d]# rpm -ql vsftpd
未安装软件包 vsftpd
[root@localhost yum.repos.d]# ss -naltp |grep vsftpd
[root@localhost yum.repos.d]# yum install vsftpd -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-28.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
================================================================================
Package 架构 版本 源 大小
================================================================================
正在安装:
vsftpd x86_64 3.0.2-28.el7 local 172 k
事务概要
================================================================================
安装 1 软件包
总下载量:172 k
安装大小:353 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : vsftpd-3.0.2-28.el7.x86_64 1/1
验证中 : vsftpd-3.0.2-28.el7.x86_64 1/1
已安装:
vsftpd.x86_64 0:3.0.2-28.el7
完毕!
[root@localhost yum.repos.d]# ss -naltp |grep vsftpd
[root@localhost yum.repos.d]# 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
[root@localhost yum.repos.d]# systemctl restart vsftpd
[root@localhost yum.repos.d]# ss -naltp |grep vsftpd
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))
[root@localhost yum.repos.d]# a=(`ss -naltp|grep vsftpd`)
[root@localhost yum.repos.d]# echo $a
LISTEN
[root@localhost yum.repos.d]# echo ${a[@]}
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))
[root@localhost yum.repos.d]# b=(`echo ${a[@]}|cut -d ":" -f4`)
[root@localhost yum.repos.d]# echo $b
21
[root@localhost yum.repos.d]# c=("echo $[a[@]|cut -d ":" -f8")
> ^C
[root@localhost yum.repos.d]# c=("echo ${a[@]}|cut -d ":" -f8")
[root@localhost yum.repos.d]# echo $c
echo LISTEN
[root@localhost yum.repos.d]# echo {c[@]}
{c[@]}
[root@localhost yum.repos.d]# echo ${c[@]}
echo LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))|cut -d : -f8
[root@localhost yum.repos.d]# pid1=(`echo ${a[@]}|cut -d ":" -f8`)
[root@localhost yum.repos.d]# echo $pid1
(("vsftpd",pid=23514,fd=4))
[root@localhost yum.repos.d]# d=("echo ${a[@]}|cut -d ":" -f8")
[root@localhost yum.repos.d]# echo $d
echo LISTEN
[root@localhost yum.repos.d]# echo ${d[@]}
echo LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))|cut -d : -f8
[root@localhost yum.repos.d]# d=("echo ${a[@]}|cut -d ":" -f6")
[root@localhost yum.repos.d]# echo $d
echo LISTEN
[root@localhost yum.repos.d]# echo ${d[@]}
echo LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=23514,fd=4))|cut -d : -f6
[root@localhost yum.repos.d]#
bash
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: Sun Aug 10 20:54:48 2025 from 192.168.235.1
[root@web ~]# ls
1828.txt anaconda-ks.cfg axel-2.4.tar.gz for5.sh null process1.sh testfor2.sh user.sh
1837.txt app bb.conf httpd-2.4.37 ok process.sh testfor3.sh vsftpd1.sh
1.txt apr-1.5.2 cc.conf httpd-2.4.37.tar.bz2 okl readme7 testfor4.sh vsftpd2.sh
2-1.java apr-1.5.2.tar.bz2 code initial-setup-ks.cfg php-7.2.17 readme.txt testfor.sh vsftpd.sh
2.java apr-util-1.5.4 dir1 inotify-tools-3.13.tar.gz php-7.2.17.tar.xz serverOk.sh uname2.sh vstest.sh
=6 apr-util-1.5.4.tar.bz2 file20.java mysql-5.6.31 ping2.sh service-s.sh uname.sh wordpress
alll1 axel-2.4 file23.java mysql-5.6.31.tar.gz ping.sh Steam.dll url.sh wordpress-4.7.3-zh_CN.tar.gz
[root@web ~]# vim vsftpdok.sh
您在 /var/spool/mail/root 中有新邮件
[root@web ~]# cat vsftpdok.sh
rpm -ql vsftpd >/dev/null 2>&1
if [ $? -eq 0 ];then
echo "OK"
else
yum install vsftpd -y
if [ $? -eq 0 ];then
echo "install ok"
else
echo "not install"
fi
fi
[root@web ~]# chmod +x vsftpdok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./vsftpdok.sh
OK
[root@web ~]# uname -rr
3.10.0-1160.el7.x86_64
您在 /var/spool/mail/root 中有邮件
[root@web ~]# a=("uname -r")
[root@web ~]# echo $a
uname -r
您在 /var/spool/mail/root 中有邮件
[root@web ~]# a=(`uname -r`)
[root@web ~]# echo $a
3.10.0-1160.el7.x86_64
[root@web ~]# echo "$(hostname)"
web.cn
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $hostname
[root@web ~]# echo $(hostname)
web.cn
[root@web ~]# echo $`hostname`
$web.cn
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $(uname -r)
3.10.0-1160.el7.x86_64
[root@web ~]# a=$(uname -r)
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $a
3.10.0-1160.el7.x86_64
[root@web ~]# main={$(echo $a|cut -d "." -f1)}
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $main
{3}
[root@web ~]# e={1,2,3}
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $e
{1,2,3}
[root@web ~]# main1=$(echo $a|cut -d "." -f1)
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $main1
3
您在 /var/spool/mail/root 中有邮件
[root@web ~]# extra=`echo $a|cut -d "." -f2`
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $extra
10
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim unameok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat unameok.sh
a=$(uname -r)
echo $a
if [ $? -eq 0 ];then
main=`echo $a|cut -d "." -f1`
extra=`echo $b|cut -d "." -f2`
echo $main
echo $extra
if [ $main eq 2 ]&&[ $extra >= 6];then
echo $a
else echo "wrong"
fi
fi
[root@web ~]# chmod +x unameok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./unameok.sh
3.10.0-1160.el7.x86_64
3
./unameok.sh: 第 8 行:[: eq: 期待二元表达式
wrong
[root@web ~]# vim unameok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat unameok.sh
a=$(uname -r)
echo $a
if [ $? -eq 0 ];then
main=`echo $a|cut -d "." -f1`
extra=`echo $a|cut -d "." -f2`
echo $main
echo $extra
if [ $main eq 2 ]&&[ $extra >= 6 ];then
echo $a
else echo "wrong"
fi
fi
[root@web ~]# ./unameok.sh
3.10.0-1160.el7.x86_64
3
10
./unameok.sh: 第 8 行:[: eq: 期待二元表达式
wrong
[root@web ~]# vim unameok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat unameok.sh
a=$(uname -r)
echo $a
if [ $? -eq 0 ];then
main=`echo $a|cut -d "." -f1`
extra=`echo $a|cut -d "." -f2`
echo $main
echo $extra
if [ $main == 2 ]&&[ $extra >= 6 ];then
echo $a
else echo "wrong"
fi
fi
[root@web ~]# ./unameok.sh
3.10.0-1160.el7.x86_64
3
10
wrong
[root@web ~]# ss -naltp |grep vsftpd
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=1735,fd=4))
[root@web ~]# all=$(ss -naltp|grep vsftpd)
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $all
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=1735,fd=4))
[root@web ~]# port=`echo $all|cut -d ":" -f4`
[root@web ~]# echo $port
21 [
您在 /var/spool/mail/root 中有邮件
[root@web ~]# realport=`echo $port|cut -c1-2`
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $realport
21
[root@web ~]# pid=`echo $all|cut -d ":" -f8`
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $pid
(("vsftpd",pid=1735,fd=4))
[root@web ~]# readpid=`echo $pid|cut -d "," -f2`
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $readpid
pid=1735
[root@web ~]# vim ftpok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat ftpok.sh
a=$(ss -naltp|grep vsftpd)
if [ $? == 0 ];then
port=`echo $a|cut -d ":" -f4`
realport=`echo $port|cut -c1-2`
pid=`echo $a|cut -d ":" -f8`
realpid=`echo $pid|cut -d "," -f2`
[root@web ~]# vim ftpok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat ftpok.sh
a=$(ss -naltp|grep vsftpd)
if [ $? == 0 ];then
port=`echo $a|cut -d ":" -f4`
realport=`echo $port|cut -c1-2`
pid=`echo $a|cut -d ":" -f8`
realpid=`echo $pid|cut -d "," -f2`
echo "vsftpd.server has been started"
echo "vsftpd listen on:"$realport
echo "vsftpd's process pid is:"$realpid
您在 /var/spool/mail/root 中有邮件
[root@web ~]# chmod +x ftpok.sh
[root@web ~]# ./ftpok.sh
./ftpok.sh:行10: 语法错误: 未预期的文件结尾
[root@web ~]# vim ftpok.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat ftpok.sh
a=$(ss -naltp|grep vsftpd)
if [ $? == 0 ];then
port=`echo $a|cut -d ":" -f4`
realport=`echo $port|cut -c1-2`
pid=`echo $a|cut -d ":" -f8`
realpid=`echo $pid|cut -d "," -f2`
echo "vsftpd.server has been started"
echo "vsftpd listen on:"$realport
echo "vsftpd's process pid is:"$realpid
else
echo "vsftpd not start"
fi
[root@web ~]# ./ftpok.sh
vsftpd.server has been started
vsftpd listen on:21
vsftpd's process pid is:pid=1735
[root@web ~]# ss -naltp |grep vsftpd
LISTEN 0 32 [::]:21 [::]:* users:(("vsftpd",pid=1735,fd=4))
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim testfor.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim testcfor.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat testcfor.sh
for (( i=1;i<=5;i++))
do
echo $i
done
[root@web ~]# chmod +x testcfor.sh
[root@web ~]# ./testcfor.sh
1
2
3
4
5
[root@web ~]# vim testcfor.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat testcfor.sh
for (( i=1;i<=5;i++))
do
echo $i
done
for (( i=1;i<=5;i++))
do
echo $i
done
for ((i=1;i<=10;i+=2))
do
echo $i
done
for ((i=2;i<=10;i+=2))
do
echo $i
done
[root@web ~]# ./testcfor.sh
1
2
3
4
5
1
2
3
4
5
1
3
5
7
9
2
4
6
8
10
您在 /var/spool/mail/root 中有邮件
[root@web ~]# for (i=1;i<=100;i+=2)
-bash: 未预期的符号 `(' 附近有语法错误
您在 /var/spool/mail/root 中有邮件
[root@web ~]# for (( i=1;i<=100;i+=2 ))
> do
> ^C
[root@web ~]# sum=0
[root@web ~]# for (( i=1;i<=100;i+=2 ))
> do
> sum+=i
> done
您在 /var/spool/mail/root 中有邮件
[root@web ~]# echo $sum
0iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
[root@web ~]# declare -i sum=0
[root@web ~]# for (( i=1;i<=100;i+=2 ))
> do
> sum+=i
> done
[root@web ~]# echo $sum
2500
[root@web ~]# vim sum.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat sum.sh
declare -i sum=0
for (( i=1;i<=100:i+=2))
do
sum+=i
done
echo "sum is:"$sum
[root@web ~]# chmod +x sum.sh
[root@web ~]# ./sum.sh
./sum.sh:行2: 语法错误: 需要算数表达式
./sum.sh:行2: 语法错误: `(( i=1;i<=100:i+=2))'
sum is:0
[root@web ~]# vim sum.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat sum.sh
declare -i sum=0
for (( i=1;i<=100;i+=2 ))
do
sum+=i
done
echo "sum is:"$sum
[root@web ~]# ./sum.sh
sum is:2500
[root@web ~]# vim for5.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim for51.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat for51.sh
for i in {1..5}
do
test $i -eq 2 && break || touch /tmp/ffile$i
done
echo lllllll
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ls /tmp
1.txt sys-20250804.tar.gz
2.txt sys-20250805.tar.gz
3.txt sys-20250806.tar.gz
5.txt sys-20250807.tar.gz
6.txt sys-20250810.tar.gz
abc.txt sys-20250811.tar.gz
dir1 systemd-private-6f37c267bc534142983b62ad1ab0be9a-bolt.service-LMvltW
dir2 systemd-private-6f37c267bc534142983b62ad1ab0be9a-chronyd.service-UWJorp
file1 systemd-private-6f37c267bc534142983b62ad1ab0be9a-colord.service-tLvcX3
file2 systemd-private-6f37c267bc534142983b62ad1ab0be9a-cups.service-LjtpWQ
file3.patch systemd-private-6f37c267bc534142983b62ad1ab0be9a-rtkit-daemon.service-gttbXa
file5 systemd-private-e06954d935da43dd9840443262c2b912-bolt.service-Shxrsd
file6.patch systemd-private-e06954d935da43dd9840443262c2b912-chronyd.service-NvD4bP
file.patch systemd-private-e06954d935da43dd9840443262c2b912-colord.service-N0eYTb
passwd systemd-private-e06954d935da43dd9840443262c2b912-cups.service-xuO8Nz
swapfile systemd-private-e06954d935da43dd9840443262c2b912-rtkit-daemon.service-BM4Ksb
sys-20250728.tar.gz vmware-root_1022-2999133054
sys-20250729.tar.gz vmware-root_1207-3979642956
sys-20250730.tar.gz vmware-root_1329-4256610699
sys-20250731.tar.gz vmware-root_845-4021653450
sys-20250801.tar.gz vmware-root_971-4290232077
sys-20250803.tar.gz
[root@web ~]# ./for51.sh
-bash: ./for51.sh: 权限不够
[root@web ~]# chomod +x for51.sh
bash: chomod: 未找到命令...
您在 /var/spool/mail/root 中有邮件
[root@web ~]# chmod +x for51.sh
[root@web ~]# ./for51.sh
lllllll
[root@web ~]# ls /tmp
1.txt sys-20250803.tar.gz
2.txt sys-20250804.tar.gz
3.txt sys-20250805.tar.gz
5.txt sys-20250806.tar.gz
6.txt sys-20250807.tar.gz
abc.txt sys-20250810.tar.gz
dir1 sys-20250811.tar.gz
dir2 systemd-private-6f37c267bc534142983b62ad1ab0be9a-bolt.service-LMvltW
ffile1 systemd-private-6f37c267bc534142983b62ad1ab0be9a-chronyd.service-UWJorp
file1 systemd-private-6f37c267bc534142983b62ad1ab0be9a-colord.service-tLvcX3
file2 systemd-private-6f37c267bc534142983b62ad1ab0be9a-cups.service-LjtpWQ
file3.patch systemd-private-6f37c267bc534142983b62ad1ab0be9a-rtkit-daemon.service-gttbXa
file5 systemd-private-e06954d935da43dd9840443262c2b912-bolt.service-Shxrsd
file6.patch systemd-private-e06954d935da43dd9840443262c2b912-chronyd.service-NvD4bP
file.patch systemd-private-e06954d935da43dd9840443262c2b912-colord.service-N0eYTb
passwd systemd-private-e06954d935da43dd9840443262c2b912-cups.service-xuO8Nz
swapfile systemd-private-e06954d935da43dd9840443262c2b912-rtkit-daemon.service-BM4Ksb
sys-20250728.tar.gz vmware-root_1022-2999133054
sys-20250729.tar.gz vmware-root_1207-3979642956
sys-20250730.tar.gz vmware-root_1329-4256610699
sys-20250731.tar.gz vmware-root_845-4021653450
sys-20250801.tar.gz vmware-root_971-4290232077
[root@web ~]# declare -i n
您在 /var/spool/mail/root 中有邮件
[root@web ~]# for (( i=1;i<=n;i++ ))
> do
> if [ n%i==0 ];then
> if [ i==1 || i==n ];then
> ^C
您在 /var/spool/mail/root 中有邮件
[root@web ~]# for (( i==1;i<=n;i++ ))
> do if [ i !=1 ] && [ i!=n ] && [ n%i == 0 ];then
> echo "i is not sushu "
> else echo "i is sushu"
> fi
> done
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" $n
for i in {1..n}
do
if [ i != 1 ] && [ i != $n ] && [ $n%i == 0 ];then
echo $n" is a prime number " && break
else
fi
done
echo $n"is a prime number"
[root@web ~]# chmod +x judgeprime.sh
[root@web ~]# ./judgeprime.sh
please input a number:2
./judgeprime.sh:行8: 未预期的符号 `fi' 附近有语法错误
./judgeprime.sh:行8: `fi'
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
echo $n" is not prime number " && break
else
fi
done
echo $n"is a prime number"
[root@web ~]# ./judgeprime.sh
please input a number:3
./judgeprime.sh:行8: 未预期的符号 `fi' 附近有语法错误
./judgeprime.sh:行8: `fi '
您在 /var/spool/mail/root 中有邮件
[root@web ~]#
Network error: Software caused connection abort
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Session stopped
- Press <return> to exit tab
- Press R to restart session
- Press S to save terminal output to file
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 11 19:07:38 2025 from 192.168.235.1
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
echo $n" is not prime number " && break
else
fi
done
echo $n"is a prime number"
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有新邮件
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if (( n <= 1));
echo "n is not a prime number"
exit 0
fi
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
echo $n" is not prime number " && break
fi
done
echo $n"is a prime number"
[root@web ~]# ./judgeprime.sh
please input a number:2
./judgeprime.sh:行6: 未预期的符号 `fi' 附近有语法错误
./judgeprime.sh:行6: `fi'
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if [ n <= 1 ];then
echo "n is not a prime number"
exit 0
fi
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
echo $n" is not prime number " && break
fi
done
echo $n"is a prime number"
[root@web ~]# ./judgeprime.sh
please input a number:4
./judgeprime.sh:行3: =: 没有那个文件或目录
4 is not prime number
4is a prime number
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./judgeprime.sh
please input a number:1
./judgeprime.sh:行3: =: 没有那个文件或目录
1 is not prime number
1is a prime number
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if [ $n <= 1 ];then
echo "n is not a prime number"
exit 0
fi
is_prime=0
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
is_prime=1
break
fi
done
if [ is_prime == 0 ];then
echo $n " is a prime number "
else
echo $n " is not prime number"
[root@web ~]# ./judgeprime.sh
please input a number:2
./judgeprime.sh:行3: =: 没有那个文件或目录
./judgeprime.sh:行21: 语法错误: 未预期的文件结尾
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim judgeprime.sh
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if [ $n <= 1 ];then
echo "n is not a prime number"
exit 0
fi
is_prime=0
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
is_prime=1
break
fi
done
if [ is_prime == 0 ];then
echo $n " is a prime number "
else
echo $n " is not prime number"
fi
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./judgeprime.sh
please input a number:2
./judgeprime.sh:行3: =: 没有那个文件或目录
2 is not prime number
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./judgeprime.sh
please input a number:1
./judgeprime.sh:行3: =: 没有那个文件或目录
1 is not prime number
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if [ $n -le 1 ];then
echo "n is not a prime number"
exit 0
fi
is_prime=0
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i == 0)) ];then
is_prime=1
break
fi
done
if [ is_prime == 0 ];then
echo $n " is a prime number "
else
echo $n " is not prime number"
fi
[root@web ~]# ./judgeprime.sh
please input a number:1
n is not a prime number
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./judgeprime.sh
please input a number:5
5 is not prime number
[root@web ~]#
bash
[root@web ~]# ./judgeprime.sh
please input a number:1
n is not a prime number
您在 /var/spool/mail/root 中有邮件
[root@web ~]# ./judgeprime.sh
please input a number:5
5 is not prime number
[root@web ~]# vim judgeprime,sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# vim judgeprime.sj
[root@web ~]# vim judgeprime.sh
您在 /var/spool/mail/root 中有邮件
[root@web ~]# cat judgeprime.sh
declare -i n
read -p "please input a number:" n
if [ $n -le 1 ];then
echo "n is not a prime number"
exit 0
fi
is_prime=0
for (( i=1;i<=n;i++ ))
do
if [ i != 1 ] && [ i != $n ] && [ $(($n%i)) == 0 ];then
is_prime=1
break
fi
done
if [ is_prime == 0 ];then
echo $n " is a prime number "
else
echo $n " is not prime number"
fi
[root@web ~]# ./judgeprime.sh
please input a number:5
5 is not prime number
[root@web ~]#