温馨提示×

非常实用的23个Shell脚本实例

小云
95
2023-08-09 12:39:39
栏目: 编程语言

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

0