Множество команд ( head
/ tail
, sort
, sh
, vim
...) обрабатывают аргументы, которые начинаются с +
специально, поэтому не рекомендуется использовать это в качестве первого символа имени файла. То же самое и с -
, которые даже чаще используются в качестве персонажа-лидера опций.
Как и для -
, чтобы избежать особой обработки +
, вы можете использовать префикс ./
. ./+ foo
- это еще один путь к + foo
, который не начинается с +
. Этот трюк ./
также помогает в других ситуациях, когда аргументы обрабатываются по-разному в зависимости от их содержания. Например, он помогает с awk
для имен файлов, содержащих =
(сравните awk 1 a = b
с awk 1 ./a=b
) или для имен файлов с :
для команд ImageMagick.
Для некоторых команд, которые распознают + x
как параметр, также может помочь использование -
для обозначения конца параметров. Как правило, он работает в меньшем количестве ситуаций, чем префикс ./
.