我有main.sh
和external.awk
个文件。
它们位于同一目录中。
从main.sh
我正在调用外部awk脚本:
awk -f external.awk ..
当然它正在发挥作用。
现在我做的时候:
cd /usr/local/bin
sudo ln -s /path/to/scripts/dir/main.sh main.sh
sudo ln -s /path/to/scripts/dir/external.awk external.awk
我可以从我所在的目录中拨打我的main.sh
。
但它给我错误的是找不到external.awk
脚本。
为什么链接在这种情况下不起作用,不应该
awk -f external.awk ..
相对于它所在的文件夹调用external.awk
,因此在这种情况下调用
那个符号链接在/usr/local/bin
路径?
修改
在发布我的问题后不久,我发现这是处理这种情况的好方法:
https://www.gnu.org/software/gawk/manual/html_node/AWKPATH-Variable.html
不符合POSIX标准,但在这种情况下,它对我来说并不重要。
答案 0 :(得分:0)
修改main.sh以调用awk:
awk -f /usr/local/bin/external.awk ..