非常实用的23个Shell脚本实例
检查文件是否存在
if [ -f file.txt ]; then
echo "文件存在"
else
echo "文件不存在"
fi
创建目录
mkdir -p /path/to/directory
拷贝文件
cp file.txt /path/to/directory
删除文件
rm file.txt
循环处理文件列表
for file in *.txt; do
echo $file
done
输出当前日期和时间
echo $(date)
获取当前脚本的路径
script_path=$(dirname "$(readlink -f "$0")")
获取命令行参数并进行判断
if [ $# -eq 0 ]; then
echo "没有参数"
else
echo "有参数"
fi
将命令输出重定向到文件
command > output.txt
判断字符串是否为空
if [ -z "$string" ]; then
echo "字符串为空"
else
echo "字符串不为空"
fi
判断两个字符串是否相等
if [ "$string1" = "$string2" ]; then
echo "字符串相等"
else
echo "字符串不相等"
fi
获取文件的行数
line_count=$(wc -l < file.txt)
在文件中搜索关键词并替换
sed -i 's/old_word/new_word/g' file.txt
执行命令并将结果保存到变量
result=$(command)
提示用户输入并保存到变量
read -p "请输入姓名:" name
计算两个数的和
sum=$((num1 + num2))
判断一个数是否为偶数
if ((num % 2 == 0)); then
echo "是偶数"
else
echo "不是偶数"
fi
判断一个数是否为质数
is_prime=true
for ((i=2; i<=num/2; i++)); do
if ((num % i == 0)); then
is_prime=false
break
fi
done
if $is_prime; then
echo "是质数"
else
echo "不是质数"
fi
循环执行命令直到满足条件
while ! command; do
sleep 1
done
批量重命名文件
for file in *.txt; do
mv "$file" "${file%.txt}.csv"
done
计算文件的md5哈希值
md5sum file.txt
批量压缩文件
tar -czvf archive.tar.gz file1.txt file2.txt
批量解压缩文件
tar -xzvf archive.tar.gz
阅读剩余
THE END