LINUX.ORG.RU

История изменений

Исправление Valdor, (текущая версия) :

Спасибо!

${*#*:}

Будет работать именно над переменной $*? Если да, то где это зашифровано? В первой звёздочке?

if [ `compgen -c | grep -x «$1»` ]

Спасибо, заменил. Это - проверка на то, лежит ли файл в $PATH. Проверку на наличие файла ниже по тексту команда из $PATH не пройдёт, а так она выполнится (и будет иметь приоритет перед файлом, с тем же именем, если он есть в текущем каталоге).

$*

А не наоборот? http://i.imgur.com/7dmglJy.png Если я правильно понимаю, все аргументы будут рассматриваться, как одна целая строка. Но я проверил - ты прав. Везде надо $* на $@ заменить?

if [[ «$(dirname $1)» = "." ]]

Тут мне надо проверить, лежит ли файл в текущем каталоге. Как посоветуешь сделать? грепнуть вывод ls?

hash — «$1» 2>/dev/null либо command -v — «$@» >/dev/null 2>/dev/null.

Не совсем понял намёка.

Исходная версия Valdor, :

Спасибо!

${*#*:}

Будет работать именно над переменной $*? Если да, то где это зашифровано? В первой звёздочке?

if [ `compgen -c | grep -x «$1»` ]

Спасибо, заменил. Это - проверка на то, лежит ли файл в $PATH. Проверку на наличие файла ниже по тексту команда из $PATH не пройдёт, а так она выполнится (и будет иметь приоритет перед файлом, с тем же именем, если он есть в текущем каталоге).

$*

А не наоборот? http://i.imgur.com/7dmglJy.png Если я правильно понимаю, все аргументы будут рассматриваться, как одна целая строка. Но я проверил - ты прав. Везде надо $* на $@ заменить?

if [[ «$(dirname $1)» = "." ]]

Тут мне надо проверить, лежит ли файл в текущем каталоге. Как посоветуешь сделать? грепнуть вывод ls?