bash
условное выражение -v var
проверьте, установлена ли переменная оболочки с именем var
.
При использовании [[-v $ 1]]
вы фактически проверяли, была ли установлена переменная, названная по содержимому $ 1
. В вашем примере это означает $ cd
, который никогда не устанавливался.
Вы можете просто проверить, является ли $ 1
непустой строкой, используя -n
:
function abash {
if [[ -n "$1" ]]
then
atom ~/Shell/"$1.sh"
else
atom ~/.bashrc
fi
}
Обратите внимание, что var
должен быть оболочкой переменная для работы -v var
. [[-v 1]]
никогда не будет работать, потому что 1
обозначается для позиционного параметра .
Cuando tiene varias versiones de Qt instaladas (como parece ser el caso ), debe asegurarse de usar el binario qmake
que viene con el que desea compilar. Para la versión Qt proporcionada por Ubuntu, también necesita el paquete qt5-qmake
instalado, sus archivos binarios se ubican en /usr/lib/x86_64-linux-gnu/qt5/bin
para una máquina Intel de 64 bits, y este directorio no está en PATH
. P.ej. en mi máquina obtengo
$ which -a qmake
/usr/bin/qmake
/usr/lib/x86_64-linux-gnu/qt4/bin/qmake
$ qmake -v
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
$ /usr/lib/x86_64-linux-gnu/qt5/bin/qmake -v
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu
El error que obtiene es qmake
quejándose de la falta de mkspecs , que quizás no estén disponibles en su instalación de Anaconda , pero son parte de qt5-qmake
.Puede verificar la configuración qmake
con
$ /path/to/your/qmake -query
Si usar el binario qmake
correcto no ayuda a resolver su problema, tal vez pueda anular mkspecs dir , pero generalmente esto no debería ser necesario, y los efectos secundarios pueden ocurrir en este caso.