背景:
我正在尝试制作一个以设定的时间间隔运行命令的函数,因为我无权访问“监视”程序。简化为最基本的功能,我要编写的函数是runit() { $1; }
.
什么有效:
当我将不是别名的东西传递给它时,这很好用。例如,runit "ls -l"
工作正常。我得到了ls -l
命令的完整输出。
什么不起作用:
当我将别名传递给它时,问题就开始了。例如,设置alias ll="ls -l"
然后调用runit "ll"
将导致-bash: ll: command not found
.
我尝试过的事情:
当我对 alias 进行硬编码时runit() { ll; }
,它可以正常工作并给我我所期望的。
我觉得我可能忽略了某些东西,但我不能完全把手指放在上面。
为什么硬编码别名可以正常工作,但将其传递给函数会失败?
有没有办法完成我正在尝试做的事情?