寻求一些帮助,因为我无法让它工作。我想测试apt
系统上是否安装了它,然后为它创建别名(如果是的话)。
我想出了以下命令,但它不起作用,因为我已确定[ ]
无论是否apt
存在,它都会变为现实。
if [ -x $(which apt) &> /dev/null ]; then alias ai='sudo apt install'; alias ar='sudo apt remove'; alias as='apt search'; alias ah='apt history'; alias au='sudo apt update && sudo apt upgrade'; fi # apt
我希望只有存在时才创建别名apt
。您能想到我应该使用的正确测试吗?
答案1
-x
是文件测试而是$(which apt) &> /dev/null
一个命令。
-x
你可以这样做
if [ -x /usr/bin/apt ]; then
如果你想使用搜索which
,你可以这样做
if [ -x "$(which apt)" ]; then
但是您也可以直接使用命令的退出状态which
:
if which apt &> /dev/null; then ...
请注意,这which
并不总是确定的 - 例如参见为什么不使用“which”?那么用什么呢?