例如:
tar xvf test.tar.gz ; rm test.tar.gz
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法在第二次执行时引用文件名?
我在想这样的事情(这是无效的):
tar xvf test.tar.gz ; rm $1
Run Code Online (Sandbox Code Playgroud)
有什么可能吗?
我完全了解通配符。
ilk*_*chu 19
您可以先将文件名分配给变量:
f=test.tar.gz; tar xvf "$f"; rm "$f"
Run Code Online (Sandbox Code Playgroud)
或者使用$_特殊参数,它包含上一个命令的最后一个字,这通常是(但当然不总是)您一直在使用的文件名:
tar xvf test.tar.gz; rm "$_"
Run Code Online (Sandbox Code Playgroud)
这也适用于多个命令,只要文件名始终是命令的最后一个参数(例如echo foo; echo $_; echo $_打印三遍foo。)
顺便说一句,您可能需要考虑使用tar ... && rm ..., 即使用&&运算符而不是分号。这样,rm如果第一个命令失败,将不会运行。
| 归档时间: |
|
| 查看次数: |
523 次 |
| 最近记录: |