例如,如果我mv
要说一个文件example.ex
,然后想要chmod
它,有没有办法可以快速访问example.ex?
我希望$last
或$-1
有些内容,但我搜索“Bash reference last file | path”会产生不相关的内容。
答案 0 :(得分:3)
$_
将为您提供上一个命令的最后一个字,它似乎足以满足您当前的需求。例如:
mkdir biglongdirname
cp *.c $_
将创建该目录并将所有C文件复制到其中。
对于您的具体示例,它将类似于:
mv srcfile.ex example.ex
chmod 700 $_
请注意,$_
是扩展后的最后一个参数,您可以使用csh
- 类似变体!$
来获取扩展前的最后一个参数(事件发生后我添加了评论:
pax> echo {1..5} # will expand to "1 2 3 4 5" (sans quotes).
1 2 3 4 5
pax> echo !$ # will give pre-expansion last arg "{1..5}".
echo {1..5} # shows command before executing.
1 2 3 4 5
pax> echo $_ # will give post-expansion last arg "5".
5
答案 1 :(得分:0)
对于交互式使用,有一个键盘组合正是如此: alt +。(alt + dot)
它直接在命令行中插入最后一个命令的最后一个参数(如果你多次按下它,你可以循环每个命令的最后一个参数)。
尝试一下,我已经适应了这一点,现在我就用它了。