【问题标题】:Linux Bash Shell Script - Accept a list of argumentsLinux Bash Shell 脚本 - 接受参数列表
【发布时间】:2021-06-07 19:39:05
【问题描述】:

我正在编写一个允许用户删除其他用户的脚本。我希望用户能够添加要删除的用户列表作为参数,但我不确定您如何让用户添加任意​​数量的参数。我想我必须做一个循环,也许?脚本的其余部分已准备就绪,但我的小脑袋似乎无法完成简单的任务。

【问题讨论】:

  • 遍历所有命令行参数:for x; do echo "$x"; done
  • 或for x in $@; do echo "$x"; done 更冗长..

标签: linux shell arguments script userdel


【解决方案1】:

我想你会喜欢这样的:

#!/bin/sh
users=$@
for duser in $@
do
 userdel $duser
 [ $? -eq 0 ] && {
    echo "User $duser deleted successed!"
 }||{
   echo "User $duser deleted failed!"
}
done

【讨论】:

  • 将其写成if userdel "$duser"; then ...; else ...; fi; 更简洁明了地检查$? 很少是一个好主意,并且使用&& || 短路而不是正确的if/else 会混淆。此外,它还会修改脚本的最终返回值。
  • 感谢威廉的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-15
  • 2015-11-26
  • 1970-01-01
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多