shell 脚本,统计用户参数个数,没有参数打印提示退出
可以使用 `$#` 变量获取用户传入参数的个数。
以下是一个示例脚本,当传入参数为空时,打印提示信息并退出。
```shell
#!/bin/bash
if [ $# -eq 0 ]; then
echo "Usage: $0 arg1 arg2 ..."
exit 1
fi
echo "The number of arguments is $#."
```
[[1](https://www.runoob.com/linux/linux-shell.html)]
shell 脚本判断两个命令行参数
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage: $0 arg1 arg2"
exit 1
fi
echo "The first argument is $1."
echo "The second argument is $2."
拷贝share下的所有文件夹,并压缩到~/Document下
#!/bin/bash
# 定义源目录和目标目录
src_dir="/mnt/share/"
dest_dir_1="$HOME/"
dest_dir_2="$HOME/Documents"
# 将 share 目录下的所有文件夹拷贝到目标目录
rsync -av --progress "${src_dir}" "${dest_dir_1}"
rsync -av --progress "${src_dir}" "${dest_dir_2}"
# 在目标目录中,使用 tar 命令将文件夹压缩为一个压缩包
cd "${dest_dir_1}/share"
tar -czvf "${dest_dir_1}/share.tar.gz" *
cd "${dest_dir_2}/share"
tar -czvf "${dest_dir_2}/share.tar.gz" *
rsync
命令用于拷贝文件夹,tar
命令用于压缩文件夹,-v
参数表示显示详细信息,-z
参数表示使用 gzip 格式进行压缩,-f
参数表示指定压缩包名称。这里通过两次 rsync
命令将文件夹分别拷贝到两个目标目录,并在每个目标目录下使用 tar
命令进行压缩。