echo flag -n выводится при запуске из скрипта [дубликат]

Он всегда должен работать в зависимости от используемой вами версии JDK:

System.out.println(Arrays.asList(array));

Он будет работать, если Array содержит объекты. Если Array содержит примитивные типы, вы можете использовать классы-оболочки вместо хранения примитива непосредственно как ..

Пример:

int[] a = new int[]{1,2,3,4,5};

Заменить его:

Integer[] a = new Integer[]{1,2,3,4,5};

Обновление:

Да! это должно означать, что преобразование массива в массив объектов ИЛИ для использования массива Object является дорогостоящим и может замедлить выполнение. это происходит по характеру java, называемому autoboxing.

Так что только для печати, его не следует использовать. мы можем сделать функцию, которая принимает массив как параметр и печатает желаемый формат как

public void printArray(int [] a){
        //write printing code
} 
2
задан doubleDown 25 July 2013 в 19:43
поделиться

2 ответа

Из man echo:

Некоторые оболочки могут предоставлять встроенную команду эхо, которая аналогична или идентична этой утилите. В частности, встроенное эхо в sh (1) не принимает параметр -n.

В bash оболочка Bourne-again, echo принимает параметр -n, тогда как в sh оболочка Bourne, echo делает нет, так что это просто эхо все, что вы написали, в том числе -n.

3
ответ дан Amory 27 August 2018 в 07:34
поделиться

/ bin / sh - это версия bash (не оболочки Bourne) на OS X. Она активирована в режиме POSIX и имеет несколько других изменений . Один из них заключается в том, что опция оболочки xpg_echo включена по умолчанию, так что встроенное эхо соответствует POSIX.

http://pubs.opengroup.org/onlinepubs/009696799/utilities/echo. html :

Реализации не должны поддерживать какие-либо опции

http://www.gnu.org/software/bash/ manual / bash.html # Bash-POSIX-Mode :

44. Когда опция xpg_echo включена, Bash не пытается интерпретировать любые аргументы для эха в качестве параметров. Каждый аргумент отображается после преобразования управляющих символов.

[...]

Как уже отмечалось выше, Bash требует, чтобы параметр xpg_echo был включен, чтобы встроенный echo был полностью совместим .

Вы можете отключить xpg_echo, использовать / bin / echo или, желательно, просто использовать printf:

sh -c 'shopt -u xpg_echo; echo -n aa'
sh -c '/bin/echo -n aa'
sh -c 'printf %s aa'
2
ответ дан Community 27 August 2018 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: