正如标题所说,我有一个脚本,可以从一个非常长的路径名启动可执行文件。我实际上不能对脚本进行任何更改,因为它不是我的,但我需要能够测试它。我基本上想做这样的事情:
alias /some/really/long/path/name/for/this/executable/run.sh='/usr/bin/echo'
但是,这不适用于别名中的/
。
如何正常运行脚本,但" stub"或"模拟"那一行?问题行在一个函数中,所以我能够source
脚本没有任何问题。我只是不确定一旦我采购了它该做什么。
有什么想法吗?
答案 0 :(得分:1)
您可以先通过sed运行脚本,将run.sh替换为您想要的任何内容,然后将sed输出作为test而不是原始输出运行。否则应该100%相同。
答案 1 :(得分:0)
你cannot export aliases to scripts。如果您拥有root权限,则可以改为创建绑定:
$ mkdir replacement
$ ln -s /usr/bin/echo replacement/run.sh
$ sudo mount --bind replacement /some/really/long/path/name/for/this/executable/
绑定将用另一个目录替换目录,类似于符号链接,但在使用
卸载替换后原始目录将保持不变$ sudo umount /some/really/long/path/name/for/this/executable/
无论哪种方式,为什么不将这两个脚本复制到您的主目录并在本地修改它们?