Как передать аргументы со специальными символами и пробелами в сценарий C -Shell - PullRequest
1 голос
/ 06 февраля 2020

Я пишу обобщенный c сценарий командной оболочки для исполнителя generic_script. csh. В основном он содержит:

#!/usr/bin/csh -f

foreach x ("$argv")
   $x 
end

Использование: generic_script.csh "ls -l" "groups" "mkdir /tmp/abc"

Ожидаемый результат: выполнение команд в аргументах в последовательности.

Проблема: когда я анализирую $ argv в foreach l oop,

  1. если я использую $argv, аргументы разделяются пробелами:
ls
-l
groups
mkdir
/tmp/abc
если я использую "$argv", $ x имеет ls -l groups mkdir /tmp/abc в качестве значения.

Как я могу разделить аргументы на основе "", то есть

ls -l
groups
mkdir /tmp/abc

Спасибо в заранее!

...