То, что вы видите, является ожидаемым поведением. ln -s
ведет себя аналогично mv
, cp
и ln
. Если второй аргумент ссылается на существующий каталог, mv file dir
перемещает файл в dir
, cp file dir
копирует файл в dir
, аln file dir
(с или без-s
)создает ссылку на dir
..
Из обсуждения в разделе комментариев я думаю, что нет существенных преимуществ использования test
вместо case
.
test
case
case str in ([Yy][Es][Ss])
). case $(( x > y )) in (1)
); на самом деле быстрее, чем тестовая команда . Возможно, вам следует использовать то, что вы предпочитаете. Я думаю, что причина, по которой test
используется чаще, заключается в том, что так получилось.