我正在编写一个shell脚本,我正在尝试检查命令的输出是否包含某个字符串.我想我可能不得不使用grep,但我不确定如何.有人知道吗?
我已尝试使用pip install matplotlib,git clone然后python setup.py install按照Mac OS 10.7 的安装常见问题中所述.但是我得到了同样的错误:
[...]
llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include -I. -I/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include/freetype2 -I./freetype2 -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/ft2font.cpp -o build/temp.macosx-10.7-intel-2.7/src/ft2font.o
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++
In file included from src/ft2font.cpp:3:
src/ft2font.h:16:22: error: ft2build.h: …Run Code Online (Sandbox Code Playgroud) 下面的代码打印0,但我希望看到1.我的结论是lambda函数不是通过实际将捕获的参数传递给函数来调用的,这更直观.我是对的还是我错过了什么?
#include <iostream>
int main(int argc, char **argv){
int value = 0;
auto incr_value = [&value]() { value++; };
auto print_value = [ value]() { std::cout << value << std::endl; };
incr_value();
print_value();
return 0;
}
Run Code Online (Sandbox Code Playgroud) 如何ls在不解压缩的情况下从命令shell 获取等效的.zip文件(而不是gzip)?也就是说,如何列出我的.zip存档中压缩的不同文件?
在我们的服务器中,符号链接libc.so.6已被删除.现在系统中的二进制文件都没有工作.为了解决这个问题,我尝试了:
/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)
正如所料,这给了我:
/bin/ln: error while loading shared libraries: libc.so.6:
cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
/lib/ld-linux-x86-64.so.2 --inhibit-rpath /lib/libc.so.6 \
--library-path /lib/libc-2.11.3.so \
/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)
结果相同.进一步不成功的尝试包括cp,mv,cat.
我通过ssh连接,我相信在关闭这个会话后我将无法打开另一个会话.有没有办法修复这个系统(也许使用bash内置函数)?
[ 编辑 ]我做了:
while read line; do echo $line; done < /lib/libc-2.11.3.so > libc.so.6
Run Code Online (Sandbox Code Playgroud)
复制文件并尝试使用:
/lib/ld-linux-x86-64.so.2 --inhibit-rpath libc.so.6 --library-path . \
/bin/ln -s /lib/libc-2.11.3.so /lib/libc.so.6
Run Code Online (Sandbox Code Playgroud)
得到了:
/bin/ln: error while loading shared libraries: ./libc.so.6: ELF file OS ABI invalid
Run Code Online (Sandbox Code Playgroud) 此命令显示文件的第二行:
cat myfile | head -2 | tail -1
Run Code Online (Sandbox Code Playgroud)
我的文件包含以下数据:
hello
mark
this is the head line
this is the first line
this is the second line
this is the last line
Run Code Online (Sandbox Code Playgroud)
上面的命令将数据打印为: mark
但我无法理解这一点,因为,头-2用于打印前两行而尾-1打印最后一行但是如何打印第二行!! ???
我想输出修改文件的时间,包括年和秒.我尝试使用ls -linT,意思是-T必须这样做,但事实并非如此.-T被识别为制表大小.我正在使用ls搜索解决方案.有人可以帮帮我吗?
我想在Facebook上创建一个页面,我想在其中发布不同语言的代码.
是否有可能在任何架构上使用任何编译器使以下断言失败?
union { int x; int y; } u;
u.x = 19;
assert(u.x == u.y);
Run Code Online (Sandbox Code Playgroud) 我有一个结构:
struct Params {
std::shared_ptr<void> user_data;
/* ... */
};
Run Code Online (Sandbox Code Playgroud)
我想这样使用它:
int main() {
std::shared_ptr<SpecializedParams> sp(new SpecializedParams(100));
Params params;
/* ... */
params.user_data = std::static_pointer_cast<void>(sp);
/* ... */
std::shared_ptr<SpecializedParams> sp2 =
std::static_pointer_cast<SpecializedParams>(
params.user_data
);
/* ... */
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这有效且安全吗?