首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scrot程序的别名在.bashrc中不工作,而是在终端中工作

Scrot程序的别名在.bashrc中不工作,而是在终端中工作
EN

Stack Overflow用户
提问于 2020-08-06 22:57:25
回答 1查看 99关注 0票数 0

我试图在.bashrc中别名scrot命令如下:

代码语言:javascript
复制
alias scrotn="scrot %Y-%m-%d-%s_$wx$h.jpg -e 'mv $f ~/pictures/screenshots/'"

scrot命令在我的终端中工作,但是当我尝试运行scrotn时,我会收到以下输出:

代码语言:javascript
复制
mv: missing destination file operand after '/home/lain/pictures/screenshots/'

已经尝试将引号添加到%Y-%m-%d-%s_$wx$h.jpg,切换双引号和单引号,并使用/home/lain/代替~/。是的,~/图片/截图/存在。我想要创建一个别名来将它绑定到我的DWM配置中的PrtSc键。抱歉英语太差了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-06 23:19:20

由于别名被定义为双引号字符串(内部引号对于shell并不重要),所以在创建别名时,$f会展开(大概是空字符串)。解决这个问题的推荐方法是使用函数而不是别名。别名被许多人认为是不可取的,因为它们可以比函数做得更少,很难像您所发现的那样调试,而且实际上并不比函数简单得多。

结果:

代码语言:javascript
复制
scrotn() {
    [your scrot command line]
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63292880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档