我有一个 shell 脚本来查找文件,/tmp/bbsnode1
如果该文件存在,它就会删除它。我想要做的是,如果存在多个文件(/tmp/bbsnode2
,/tmp/bbsnode3
,和/tmp/bbsnode4
),全部删除。但只有当它们都存在时才删除它们。
这是我到目前为止所拥有的:
if [ -f /tmp/bbsnode1 ]
then
/usr/bin/rm /tmp/bbsnode1
fi
Run Code Online (Sandbox Code Playgroud) 我需要详细说明一点。这些命令实际上是针对 BBS FTN 投掷者的。这些命令所在的配置文件只允许特定的声明。这里有一些例子:
exec "/home/imp/imp/poll.sh" *.su? *.mo? *.tu? *.we? *th? *.fr? *.sa? *.pkt
flag toss!.now [0-9a-Z][0-9a-Z][0-9a-Z][0-9a-Z][0-9a-Z][0-9a-Z][0-9a-Z][0-9a-Z].???
exec "/home/imp/imp/poll.sh /home/imp/hpt/secure" /home/imp/hpt/secure/*.[STFWMstfWM][ouaherOUAHER][0-9A-ZA-a] *.[pP][kK][tT]
Run Code Online (Sandbox Code Playgroud)
所以这就是为什么我要使用该语法([0-9a-z](例如))。问题是邮件程序正在寻找小写文件名,但只存在大写文件名。
我正在尝试使用以下语法将文件从大写转换为小写:
mv /home/imp/hpt/outbound/[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z].[STFWMfWM][OUAHER][0-9] /home/imp/hpt/outbound/[0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z][0-9a-z].[stfwm][ouaher][0-9a-za-a]
Run Code Online (Sandbox Code Playgroud)
我认为我的语法不正确。
这是我要重命名的文件名示例:
0000FE70.FR0
非常感谢任何和所有帮助。谢谢。
首先,我希望这是发布此内容的正确网站。
以其他用户身份登录时出现以下错误 (ignatius):
catch22bbs:~/Desktop # su ignatius
ls: error while loading shared libraries: libpcre.so.1: cannot open shared object file: Permission denied
Run Code Online (Sandbox Code Playgroud)
而且,在运行某些程序时也是如此。大多数都不起作用。
ignatius@catch22bbs:~> pico
pico: error while loading shared libraries: libmagic.so.1: cannot open shared object file: Permission denied
Run Code Online (Sandbox Code Playgroud)
这是奇怪的部分:
catch22bbs:~ # l /usr/lib/libpcre.so*
lrwxrwxrwx 1 root root 16 Jun 29 06:04 /usr/lib/libpcre.so -> libpcre.so.1.2.7*
lrwxrwxrwx 1 root root 16 Jun 29 06:04 /usr/lib/libpcre.so.1 -> libpcre.so.1.2.7*
-rwxr-xr-x 1 root root 488800 Jun 29 06:04 /usr/lib/libpcre.so.1.2.7*
Run Code Online (Sandbox Code Playgroud)
和..
catch22bbs:~ # l /usr/lib/libmagic*
lrwxrwxrwx …
Run Code Online (Sandbox Code Playgroud) 我有一个 shell 脚本 ren.sh
#!/bin/bash
/usr/bin/mv /home/imp/imp/msgs/$1.PK1 /home/imp/imp/msgs/$1.BRD
/usr/bin/mv /home/imp/imp/msgs/$1.PK2 /home/imp/imp/msgs/$1.MIX
Run Code Online (Sandbox Code Playgroud)
它工作正常,但一次只能移动 2 个文件(*.PK2
和*.PK1
)。我希望它将所有现有*.PK1
和*.PK2
文件移动到*.MIX
和*.BRD
文件
这可能吗?