Сценарий 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.

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *