Аргументы терминала в программе Java

программы Linux java

Пишу простенькое приложение на Java, столкнулся с такой проблемой. Если в аргументах командной строки присутствует символ звёздочка "*" (без кавычек), то вместо этого символа в массив аргументов args записывается список папок и файлов из домашней директории, с соответствующим увеличением длины массива. Как это исправить? Нужно, чтобы записывалась именно эта единственная звёздочка!
Использовать именно этот символ важно, ибо программа есть калькулятор. OS CentOS.

Примечание:
Т.е. принципиально нет вообще никаких способов узнать, что был введён символ * ? Если заранее не известны имена файлов в домашней директории.

Примечание:
Ой, да ну, тогда парсить надо.
Ответы:
Пиши его так: \* или '*'. Про список папок и файлов - это вина не Java, а оболочки, в которой она запущена.
Это особенности оболочки bash.


7 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.