我正在尝试使用bash脚本删除用户注销时的目录。这就是我所拥有的:
#!/bin/bash
if [[ $1 == "user1" -o $1 == "user2" -o $1 == "user3" ]]; then
exit 0
rm -r /Users/$1
fi
每次我以交互方式运行此脚本时,都会出现语法错误。 “-o”附近出现意外表达。我有点难过。该脚本的目标是删除除user1,user2和user3之外的所有目录。代码有什么问题?
答案 0 :(得分:9)
-o
。请改用||
:
if [[ $1 == "user1" || $1 == "user2" || $1 == "user3" ]]; then
(另外,建议不要将-o
用于test
/ [
命令。而不是
if [ "$1" = "user1" -o "$1" = "user2" ]; then
建议的顺序是
if [ "$1" = "user1" ] || [ "$1" = "user2" ]; then
即,对test
加入的[
/ ||
使用两个单独的来电。