История изменений
Исправление 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?