Что отображает эхо-1$?

Никакой вред, делающий его Ваш путь, поскольку это может быть ограничено по объему к интерактивным оболочкам и не сценариям влияния.

Только опасность (и это может быть большое, если Вы работаете над широким спектром систем) - можно привыкнуть к привычке к использованию нестандартного отображения излишне.

Особенно с ls в промышленности существуют некоторые установленные лучшие практики.

Например, много системных реализаций ll как вариант разбиения на страницы ls. Легче ввести, и можно обоснованно ожидать, что это уже будет присутствовать в новой системе, с которой Вы встречаетесь.

Видеть, какие ярлыки легко доступны Вам тип alias и set.

14
30.10.2014, 11:45
4 ответа
split -l $Y main.tsv main_part_
for part in main_part_*; do
    program $part &
done
wait
echo "all done"

wait - это bash builtin: проверьте справочную страницу для получения подробной информации

-121--73372-

echo $ - печатает опции текущей оболочки (без префикса - ). 1 и 2 являются дополнительными несвязанными маркерами.

-121--29582-

POSIX определил $ - как:

-

(дефис.) Разворачивается до текущих флагов опций (однобуквенный имена опций, объединенные в последовательность), как указано при вызове, специальной встроенной командой set или неявно оболочкой.

Таким образом, $ - может быть другой основой оболочки или способом ее вызова.

1 или 2 здесь разделены маркерами. Когда оболочка увидит отмену предложения $ , она определит начало любых кандидатов на расширение параметров, замену команд или арифметическое расширение. Он увидел $ - и расширил его, оставшуюся часть оставил без изменений.

Дополнительные сведения см. в разделе Распознавание маркеров .

19
27.01.2020, 19:50

ECHO $ ​​- Печатает параметры текущей оболочки (без - префикс). 1 и 2 являются дополнительными не связанными токенами.

18
27.01.2020, 19:50

Чтобы расширить существующие ответы, попробуйте ECHO «$ {- 1}» и ECHO "$ {- 2}" - вы ' Получите ошибку «плохое замещение» [плохая замена », потому что, а не использование -1 в качестве имени переменной, дефис используется для , заменив значение , если имя переменной До этого не определен. Например:

$ unset foo
$ echo "${foo-bar}"
bar
$ foo=test
$ echo "${foo-bar}"
test
3
27.01.2020, 19:50

Добавление к ответу Мирослава:

echo $- печатает опции текущей оболочки (без префикса -). 1 и 2 являются дополнительными несвязанными жетонами.

Это означает, что это опции, соответственно, для каждой машины.

imsBEl
himBH

Я исследовал значение каждого флага и скомпилировал значения, приведенные ниже, с небольшим перефразированием.

-i

Если опция -i присутствует, оболочка является интерактивной.

-m

Режим монитора. Управление заданием включено.

-B

Оболочка выполняет расширение скобки (см. расширение скобки). Это . включена по умолчанию.

-s

Если опция -s присутствует или если после опции не остается аргументов обработка, затем команды считываются со стандартного входа. Это опция позволяет задавать параметры позиционирования при вызове параметра интерактивная оболочка.

-E

errtrace

-l

Заставить bash действовать так, как если бы он был вызван в качестве оболочки для входа в систему

-h

hashall

-H History Expansion

Эта функция включена по умолчанию для интерактивных оболочек.

11
27.01.2020, 19:50

Теги

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