什么是POSIX?我已阅读维基百科的文章,每次遇到这个词时我都会阅读它.事实是,我从来没有真正理解它是什么.
任何人都可以通过解释"对POSIX的需求"向我解释一下吗?
我正在尝试学习shell脚本,我需要了解其他人的代码.什么是$?变量保持?我不能谷歌搜索答案,因为他们阻止标点字符.
我正在阅读bash示例,if但有些示例是用单个方括号编写的:
if [ -f $param ]
then
#...
fi
Run Code Online (Sandbox Code Playgroud)
其他双方括号:
if [[ $? -ne 0 ]]
then
start looking for errors in yourlog
fi
Run Code Online (Sandbox Code Playgroud)
有什么不同?
在我看到的shell脚本中有这一行:
grep -e ERROR ${LOG_DIR_PATH}/${LOG_NAME} > /dev/null
if [ $? -eq 0 ]
Run Code Online (Sandbox Code Playgroud) 我有一些csh脚本,我需要在开始做之前检查某些环境变量是否已设置,所以我做了这样的事情:
if ! $?STATE then
echo "Need to set STATE"
exit 1
endif
if ! $?DEST then
echo "Need to set DEST"
exit 1
endif
Run Code Online (Sandbox Code Playgroud)
这是很多打字.是否有更优雅的习惯用于检查环境变量是否已经设置?
笔记:
我看到代码写在网上的某个地方,我想知道究竟什么是"$?" 做/给我们.谷歌搜索没有帮助.
这是我看到的代码:
#!/bin/sh
ping -c 2 localhost
if [ $? != 0 ] ; then
echo "Couldn't ping localhost, weird"
fi
ping -c 2 veryweirdhostname.noend
if [ $? != 0 ] ; then
echo "Surprise, Couldn't ping a very weird hostname.."
fi
echo "The pid of this process is $$"
Run Code Online (Sandbox Code Playgroud)
取自:http://efod.se/writings/linuxbook/html/shell-scripts.html
我有一些makefiles大多数东西应该在没有配置的情况下运行的地方。这些 makefiledocker-machine过去曾使用过。
有没有办法检测bash用户是否使用docker desktop for mac而不是docker-machine?