我试图在.bashrc中别名scrot命令如下:
alias scrotn="scrot %Y-%m-%d-%s_$wx$h.jpg -e 'mv $f ~/pictures/screenshots/'"scrot命令在我的终端中工作,但是当我尝试运行scrotn时,我会收到以下输出:
mv: missing destination file operand after '/home/lain/pictures/screenshots/'已经尝试将引号添加到%Y-%m-%d-%s_$wx$h.jpg,切换双引号和单引号,并使用/home/lain/代替~/。是的,~/图片/截图/存在。我想要创建一个别名来将它绑定到我的DWM配置中的PrtSc键。抱歉英语太差了。
发布于 2020-08-06 23:19:20
由于别名被定义为双引号字符串(内部引号对于shell并不重要),所以在创建别名时,$f会展开(大概是空字符串)。解决这个问题的推荐方法是使用函数而不是别名。别名被许多人认为是不可取的,因为它们可以比函数做得更少,很难像您所发现的那样调试,而且实际上并不比函数简单得多。
结果:
scrotn() {
[your scrot command line]
}https://stackoverflow.com/questions/63292880
复制相似问题