我想构建一个简短的函数来执行以下操作。假设我将文件“file.tex”移动到我的文档目录:
mv file.tex ~/Documents
Run Code Online (Sandbox Code Playgroud)
然后,我cd
想到那个目录:
cd ~/Documents
Run Code Online (Sandbox Code Playgroud)
我想将其推广到任何目录,以便我可以这样做:
mv file.tex ~/Documents
follow
Run Code Online (Sandbox Code Playgroud)
并让follow
命令从上一个命令读取目标,然后相应地执行。对于一个简单的目录,这不会节省很多时间,但是在处理嵌套目录时,能够只使用
mv file.tex ~/Documents/folder1/subfolder1
follow
Run Code Online (Sandbox Code Playgroud)
我认为这会相对简单,我可以做这样的事情:
follow()
{
place=`history 2 | sed -n '1p;1q' | rev | cut -d ' ' -f1 | rev`
cd $place
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。如果我 echo $place
,我确实得到了所需的字符串(我正在用 测试它~/Documents
),但最后一个命令返回
No such file or directory
Run Code Online (Sandbox Code Playgroud)
该目录肯定存在。我不知所措。你能帮我吗?
我正在运行 Linux Mint 17.1 (KDE)。我知道我可以通过右键单击标题栏将窗口从一个桌面空间移动到另一个桌面空间。我也知道我可以使用 wmctrl 从命令行执行此操作,这首先要求我知道窗口 ID。就我而言,我可以这样做:
wmctrl -l
Run Code Online (Sandbox Code Playgroud)
这列出了具有各自 ID 的打开窗口:
0x04c00012 0 notebook2 下载 – 海豚
0x00800015 -1 notebook2 夜库客
0x03800012 1 notebook2 sh-format.sh – 凯特
(以及其他几个)。
如果我然后输入:
wmctrl -i -r 0x03800012 -t 1
Run Code Online (Sandbox Code Playgroud)
然后我可以将 Kate 窗口移动到桌面 2。
我的问题是: 我想 (1) 设置一个键盘快捷方式将活动窗口移动到不同的桌面(我愿意为每个桌面设置单独的快捷方式),或者 (2) 确定窗口 ID活动窗口,以便我可以编写快捷方式。
有没有办法做到这一点?