Скрипт 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

P.S. Это можно использовать для любого пользователя в системе. Я просто использовал www-data в качестве примера.

Связанный контент