Вопрос

Suppose I have a program named abc in the search path, and I write a script containing the following:

#!/bin/sh
abc() {
    echo Hello
}
$1

Invoking this script with a parameter abc calls the function. Is there a way to always run the external program instead?

Это было полезно?

Решение

OK, this seems to do the job:

#!/bin/sh
abc() {
    echo Hello
}

# calls whatever the argument contains in a new context
sh -c $1

# I can still call my function
abc
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top