Сценарий не может продвинуть определения до Вас. Необходимо ввести их из сценария путем определения источника их. Это сделано . /usr/bin/cdjs
(если сценарий был в/usr/bin/cdjs). После этого можно использовать cdjs
в любое время.
Ваш коллега, возможно, предлагал делать сценарии функций вместо этого. cdjs
функция может быть сделана сценарием, но для нее для работы необходимо получить сценарий каждый раз, когда Вы используете ее, как это: . cd2js
.
Чтобы сделать это, у Вас был бы файл /usr/bin/cd2js
который является исполняемым файлом и содержит:
$/bin/sh
cd /domains/"$1"/applications/j2ee-apps
Если Вы часто делаете ограниченное количество вещей в том каталоге, Вы могли бы хотеть сделать несколько сценариев, который делает те вещи для Вас.
Таким образом, у Вас может быть сценарий как это:
#!/bin/sh
ls /domains/"$1"/applications/j2ee-apps/
И помещенный это в /usr/bin/lsj2
. Затем можно просто сделать lsj2 some-domain-1
в любое время для наблюдения содержания.
Можно отождествить циклические символьные ссылки с немного find
обман, попробуйте это:
find /path/to/search -type l -a ! \( -xtype b -o -xtype c -o -xtype d -o -xtype p -o -xtype f -o -xtype s -o -xtype l \) 2>/dev/null
Это работает путем фильтрации на символьные ссылки, затем, исключая что-либо, где тип цели символьной ссылки какой-либо имеет возможные inode типы. Единственные вещи оставляют, это где find
не может определить тип цели, которая только происходит для циклических символьных ссылок (поврежденное соответствие -xtype l
)
Символьные ссылки не показывают "действие на расстоянии" - быть целью символьной ссылки никогда не влияет на цель непосредственно.
Ошибка, которую Вы видите, указывает на это также /etc
, или /etc/sv
, или /etc/sv/me
символьная ссылка. Фигура, какой это - и фиксирует его.
Рассмотрите нижнее дело использования -l
(подчеркните штриховой линией эль) вместо верхнего регистра -L
при выполнении ls
.