我对Bash中括号,括号,花括号的用法以及它们的双重或单一形式之间的区别感到困惑.有明确的解释吗?
我已经看到bash脚本以两种不同的方式测试非零长度字符串.大多数脚本使用-n选项:
#!/bin/bash
# With the -n option
if [ -n "$var" ]; then
# Do something when var is non-zero length
fi
Run Code Online (Sandbox Code Playgroud)
但是-n选项并不是真正需要的:
# Without the -n option
if [ "$var" ]; then
# Do something when var is non-zero length
fi
Run Code Online (Sandbox Code Playgroud)
哪种方式更好?
同样,这是测试零长度的更好方法:
if [ -z "$var" ]; then
# Do something when var is zero-length
fi
Run Code Online (Sandbox Code Playgroud)
要么
if [ ! "$var" ]; then
# Do something when var is zero-length
fi
Run Code Online (Sandbox Code Playgroud) (py36venv)vagrant @ pvagrant-dev-vm:/ vagrant/venvs $ pip3 install pep8
pip配置了需要TLS/SSL的位置,但Python中的ssl模块不可用.
收集pep8无法获取URL https://pypi.python.org/simple/pep8/:确认ssl证书时出现问题:无法连接到HTTPS URL,因为SSL模块不可用. - 跳过
找不到满足要求pep8的版本(来自版本:)没有为pep8找到匹配的发行版
背景信息 - 试图转向python 3.6.
使用以下命令安装python3.6:
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
tar -xvf Python-3.6.0.tgz
cd Python-3.6.0
./configure --enable-optimizations
make -j8 sudo make altinstall python3.6
通过以下方式创建virtualenv:
python3.6 -m venv py36venv
源py36venv/bin/activate
试图安装pep8
(py36venv)pip3安装pep8
pip配置了需要TLS/SSL的位置,但Python中的ssl模块不可用.收集pep8
无法获取URL https://pypi.python.org/simple/pep8/:确认ssl证书时出现问题:无法连接到HTTPS URL,因为
SSL模块不可用. - 跳过找不到满足要求的版本pep8(来自版本:)没有为pep8找到匹配的发行版
我的shell脚本看起来像这样......
if [[ $uptime -lt 0 ]];then
some code
fi
if [[ $questions -lt 1 ]];then
some code
fi
if [[ $slow -gt 10 ]];then
some code
fi
Run Code Online (Sandbox Code Playgroud)
我如何使用OR并拥有一个if子句?