Bash 脚本将多个参数视为单个参数。需要将多个参数视为多个参数

Bash 脚本将多个参数视为单个参数。需要将多个参数视为多个参数

像“sudo”一样,我想创建一个命令,让我测试网页是否可以执行 ping、wget、cat 等操作。此 bash 脚本对于单个命令(如“www ./test.py”)运行正常,但 cat 命令需要其他信息。如果输入“www ping 192.168.XX”,则会返回该信息。(.XX 是某个本地 IP)

sudo:ping 192.168.XX:未找到命令

#!/bin/bash

if [ -z "$@" ]
   then
     echo "No arguments supplied"
     sudo -u www-data bash
     exit 0
else
     echo "Hello world"
     sudo -u www-data "$*"
     exit 1
fi

#sudo -u www-data bash

PS. 这可以用于系统上的任何用户。我只是以 www-data 为例。

相关内容