我喜欢 shred 命令,因此我更喜欢使用 shred,而不是使用 'rm' 命令。我想在 /usr/bin 中创建一个 bash 脚本,假设我们将其命名为“shredder”,这样如果我想粉碎一个文件(即 test.txt),我只需输入:
碎纸机测试.txt
而 bash 脚本可以帮我完成这个任务。我制作了一个这样的 bash 脚本,但在运行它之前,我不知道如何在终端中传递文件名。任何帮助都将不胜感激。
这是我的代码。
#!/bin/bash
clear
read fle
shred -n 3 -zvfu $fle
提前致谢!
答案1
您可以按以下方式使用脚本
#!/bin/bash
clear
for var in "$@"
do
shred -n 3 -zvfu "$var"
done
或者更短的版本
#!/bin/bash
clear
for var
do
shred -n 3 -zvfu "$var"
done
运行脚本,然后输入要粉碎的文件名。您可以使用空格分隔的多个文件。
答案2
Bash 使用特殊的环境变量来处理参数
- $0 :脚本名称本身
- $# :参数总数
- $1 :第一个参数
- $2 :第二个参数
等等
#!/usr/bin/env bash
echo name of script is $0
echo first argument is $1
echo second argument is $2
echo number of arguments is $#
该程序的输出如下:
bash /tmp/test.sh one two three
name of script is /tmp/test.sh
first argument is one
second argument is two
number of arguments is 3
答案3
或者,您可以通过运行以下命令为“shredder”创建别名:
echo 'alias shredder="shred -n 3 -zvfu"' >> ~/.bashrc
现在,获取.bashrc
文件以应用更改(重置 bash shell):
. ~/.bashrc
最后,您可以使用“shredder”命令删除文件。