Никакой вред, делающий его Ваш путь, поскольку это может быть ограничено по объему к интерактивным оболочкам и не сценариям влияния.
Только опасность (и это может быть большое, если Вы работаете над широким спектром систем) - можно привыкнуть к привычке к использованию нестандартного отображения излишне.
Особенно с ls
в промышленности существуют некоторые установленные лучшие практики.
Например, много системных реализаций ll
как вариант разбиения на страницы ls
. Легче ввести, и можно обоснованно ожидать, что это уже будет присутствовать в новой системе, с которой Вы встречаетесь.
Видеть, какие ярлыки легко доступны Вам тип alias
и set
.
split -l $Y main.tsv main_part_
for part in main_part_*; do
program $part &
done
wait
echo "all done"
wait
- это bash builtin: проверьте справочную страницу для получения подробной информации
echo $ -
печатает опции текущей оболочки (без префикса -
). 1
и 2
являются дополнительными несвязанными маркерами.
POSIX определил $ - как:
-
(дефис.) Разворачивается до текущих флагов опций (однобуквенный имена опций, объединенные в последовательность), как указано при вызове, специальной встроенной командой set или неявно оболочкой.
Таким образом, $ -
может быть другой основой оболочки или способом ее вызова.
1
или 2
здесь разделены маркерами. Когда оболочка увидит отмену предложения $
, она определит начало любых кандидатов на расширение параметров, замену команд или арифметическое расширение. Он увидел $ -
и расширил его, оставшуюся часть оставил без изменений.
Дополнительные сведения см. в разделе Распознавание маркеров .
ECHO $ -
Печатает параметры текущей оболочки (без -
префикс). 1
и 2
являются дополнительными не связанными токенами.
Чтобы расширить существующие ответы, попробуйте ECHO «$ {- 1}»
и ECHO "$ {- 2}"
- вы ' Получите ошибку «плохое замещение» [плохая замена », потому что, а не использование -1
в качестве имени переменной, дефис используется для , заменив значение , если имя переменной До этого не определен. Например:
$ unset foo
$ echo "${foo-bar}"
bar
$ foo=test
$ echo "${foo-bar}"
test
Добавление к ответу Мирослава:
echo $-
печатает опции текущей оболочки (без префикса-
). 1 и 2 являются дополнительными несвязанными жетонами.
Это означает, что это опции, соответственно, для каждой машины.
imsBEl
himBH
Я исследовал значение каждого флага и скомпилировал значения, приведенные ниже, с небольшим перефразированием.
-i
Если опция -i присутствует, оболочка является интерактивной.
-m
Режим монитора. Управление заданием включено.
-B
Оболочка выполняет расширение скобки (см. расширение скобки). Это . включена по умолчанию.
-s
Если опция -s присутствует или если после опции не остается аргументов обработка, затем команды считываются со стандартного входа. Это опция позволяет задавать параметры позиционирования при вызове параметра интерактивная оболочка.
-E
errtrace
-l
Заставить bash действовать так, как если бы он был вызван в качестве оболочки для входа в систему
-h
hashall
-H History Expansion
Эта функция включена по умолчанию для интерактивных оболочек.