嘿伙计们,我遇到了将变量传递给%exe部分代码的问题.需要你的帮助.
这是我在bash脚本中使用的工作代码:
- ## Function
- targz() {
- find $1 -type f -name "*.$2" -exec \
- bash -c 'old=$(basename {}); new=${old/%exe/tar\.gz}; \
- tar -zcvf $new $old; ' \;
- }
- ## Function Call
- ## targz [directory] [extension]
- targz . 'exe';
是的我尝试过这样的事:
- new=${old/%$2/tar\.gz};
尝试:
- targz() {
- find $1 -type f -name "*.$2" -exec \
- bash -c 'old=$(basename {}); new=${old/'"$2"'/tar\.gz}; \
- tar -zcvf $new $old; ' \;
- }
诀窍是退出单引号,以便执行变量扩展.