gpt4 book ai didi

bash - 删除所有内容,除了两个文件

转载 作者:行者123 更新时间:2023-11-29 09:51:47 26 4
gpt4 key购买 nike

我想删除文件夹中的所有内容,包括文件夹,但两个文件除外。为此,为什么要使用此脚本:

#!/usr/bin/env bash

shopt -s extglob
rm !(file1|file2)

哪个有效,但是当我尝试在一个案例中执行时:

#!/usr/bin/env bash

read -r -p "Do you want remove everything \
[y/N]: " response
case $response in
[yY][eE][sS]|[yY])
shopt -s extglob
rm !(file1|file2)
;;
*)
printf "Aborting"
;;
esac

这会发生:

test.sh: line 9: syntax error near unexpected token `('
test.sh: line 9: `rm !(file1|file2)'

我想知道为什么会这样,更重要的是,我想知道如何解决 :)

最佳答案

shopt 保留在脚本的开头:

#!/usr/bin/env bash

shopt -s extglob
read -r -p "Do you want remove everything [y/N]: " response

case $response in
[yY][eE][sS]|[yY])
echo rm !(list.txt|file2)
;;
*)
printf "Aborting"
;;
esac

关于bash - 删除所有内容,除了两个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38553338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com