2015-10-24 5 views
0

Я знаю, что -d можно использовать для проверки каталога. Если ($ argv [1] == "-d") не работает из-за этого. Тем не менее, я должен иметь возможность передать -d в качестве аргумента для моего скрипта. Как я могу отключить специальное свойство -d, чтобы передать его в качестве аргумента?CSH: Использование -d в качестве аргумента

Пример: Использование ./script -d для запуска моего сценария с аргументом -d выводит сообщение об ошибке «If: missing file name». Использование -h, например, отлично работает.

Обязательный CShell вреден, но я должен использовать его.

+0

, пожалуйста, обновите свой вопрос с минимальным рабочим (кодом) примером вашей проблемы. '-d' не имеет никакой магической силы, кроме как в некотором коде, например' if (-d $ p), тогда ... 'См. http://www.grymoire.com/Unix/Csh.html, чтобы освежить ваше понимание csh , Или, если вы действительно будете использовать csh, пока вы не смените задания, получите http://www.amazon.com/The-Unix-Shell-Field-Guide/dp/013937468X. Отличная работа по написанию технологий для менее совершенного технического продукта; - Удачи. – shellter

+1

[Также опубликовано на unix.SE] (http://unix.stackexchange.com/questions/238361/csh-using-d-as-an-argument-and-not-test) – Carpetsmoker

+1

Не перекрестно отправляйте и проверяйте [мой ответ в U & L] (http://unix.stackexchange.com/a/238385/38906). – cuonglm

ответ

1

Решил, добавив фиктивный символ перед утверждением. Итак, If (X $ argv [1] == "X-d").

+0

принять ваш ответ через 48 часов, чтобы получить очки репутации. Хорошее шоу для решения вашей собственной проблемы. В будущем небольшие образцы позволят читателям быстро помочь вам. Образец ввода, требуемый вывод, код, сообщения об ошибках и комментарии к вашим требованиям делают чудеса для людей, которые могут вам помочь. Удачи. – shellter