我使用这个命令已经有一段时间了,直到最近它还很有效。在
alias pipup='sudo pip install --upgrade $(yolk -U | awk "{print $1} ")'
但是,它最近开始失败,只要包有可用的更新,就会出现以下输出:
^{pr2}$此实例中此别名执行的yolk -U
命令的输出是:
[14:05] Bryson@Zeus ~ :$ yolk -U
pep8 1.5.3 (1.5.4)
setuptools 3.4.1 (3.4.3)
[14:06] Bryson@Zeus ~ :$
当yolk
没有返回包名/版本时,该命令将正确地输出以下内容,alias命令不会失败。相反,以下内容将正确打印到终端:
No newer packages found at The Cheese Shop
You must give at least one requirement to install (see "pip help install")
您的问题是,
awk "{print $1} "
中的$1
被作为一个变量插值,导致执行命令awk "{print }"
。后一个命令打印整行(不只是第一个字段),因此(1.5.4)
出现在pip
的命令行上。在它可能工作了一段时间,因为
yolk -U
没有输出任何内容。在要修复此问题,可以转义
$
:或者使用
^{pr2}$cut
:相关问题 更多 >
编程相关推荐