当我做
tail -f file.log
Run Code Online (Sandbox Code Playgroud)
在bash中,文件的每个更改都显示在屏幕上.但不是列出文件的每一行,而是只想显示包含特殊字符串的行special string.所以我试过了
grep 'special string' file.log | tail -f
Run Code Online (Sandbox Code Playgroud)
但是此命令会立即返回到bash,而不会显示文件中的任何未来更改.
怎么做正确?
我想在我的USB记忆棒上创建一个git存储库.在棍子上,我使用该命令创建了一个裸git存储库
git init --bare MyRepo
Run Code Online (Sandbox Code Playgroud)
在笔记本电脑上的存储库(Ubuntu 14.04)中,我发出了以下命令
git init
git add .
git commit -m 'first commit'
git remote add origin /media/alexander/Stick/MyRepo
Run Code Online (Sandbox Code Playgroud)
并得到了错误
fatal: remote origin already exists.
Run Code Online (Sandbox Code Playgroud)
我刚刚在棒上成功创建了一个git repo而没有任何错误(当然使用不同的目录).现在我收到了这个错误.'git status'的输出是
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
出了什么问题?
我正在拉一个 docker 镜像并在 Linux 环境中运行这个 docker 镜像,比如
docker pull ${IMAGE}
# I need to copy the file BEFORE I run the thing
docker run ... ${IMAGE}
Run Code Online (Sandbox Code Playgroud)
但是如何将文件从主机复制到我即将运行的 docker 映像,以便在它运行时可以使用来自主机的这个文件?
我看了看,docker cp但这似乎使用了我没有的 docker容器ID。我也不想创建新图像。我需要 docker 容器可以访问主机系统上的一个文件。
或者反过来也可以:如何从 docker 容器内访问主机系统上的文件?
我正在尝试为谷歌环聊创建一个简单的“聊天机器人”,在聊天中发送常规消息。我找到了这个文档,但我发现它非常复杂。
它包含一个“完整示例”,但我不确定如何为现有的谷歌环聊找到“空间”ID。这是无处解释的。如何找到现有谷歌聊天的“空间”ID?
此外:是否有一个简单的(!!!) 文档如何简单地向现有聊天发布消息?
我希望能够从命令行打开 MacOS (14.10.6) 中的 sublime 文本编辑器。我找到了一些如何做到这一点的说明(此处和此处),但当然它对我不起作用。
我确实在以下位置创建了指向应用程序的符号链接/usr/local/bin:
sublime -> /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
Run Code Online (Sandbox Code Playgroud)
该位置的文件/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl 确实存在。此外,该文件夹/usr/local/bin包含在的实际定义中PATH。
但是,当我在终端的命令行中输入该命令时,找不到该命令
~$ sublime
-bash: sublime: command not found
Run Code Online (Sandbox Code Playgroud)
证明:
$ls -al /usr/local/bin | grep sublime
lrwxr-xr-x 1 root admin 63 Jan 15 07:44 sublime -> /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl
$ echo $PATH
/usr/local/opt/python@3.8/bin:/usr/local/opt/python@3.8/bin:/Users/adietz/miniconda3/bin:/usr/local/bin:/Users/adietz/.pyenv/shims:/Users/adietz/opt/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/puppetlabs/bin:/opt/X11/bin
Run Code Online (Sandbox Code Playgroud)
有什么想法如何解决这个问题吗?
我想在C中定义不同的字符串数组,然后可以根据其他一些值进行选择,例如如下所示:
char foo[][10] = {"Snakes", "on", "a", "Plane"};
char bar[][10] = {"Fishes", "in", "a", "Lake"};
char *choice;
if (flag == 1) {
choice = &foo;
} else if (flag == 2) {
choice = &bar;
}
printf("%s%s\n", choice[0] , choice[1]);
Run Code Online (Sandbox Code Playgroud)
案例中的预期结果flag是1:
Snakeson
预期结果flag为2:
Fishesin
但上面的代码给出了一个segmentation fault错误,而我尝试了不同的定义char,即char*和char**.怎么做对了?有没有关于这个问题的好教程,即关于指针,数组,foo上面的例子究竟是什么......
我有以下示例代码
<?php
class Test {
function foo() {
print "foo\n";
}
function bar() {
$func = 'foo';
$func();
}
}
$test = new Test();
$test->bar()
Run Code Online (Sandbox Code Playgroud)
哪个调用$test-bar(),内部调用一个名为的变量php函数foo.这个变量包含字符串foo,我希望像这里一样foo调用该函数.而不是获得预期的输出
foo
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
PHP Fatal error: Call to undefined function foo() ...
Run Code Online (Sandbox Code Playgroud)
当使用字符串作为函数名时,如何正确执行此操作?字符串'func'可能表示实际代码中类范围内的几个不同函数.
根据文档,上面应该像我编码的那样工作,或多或少......
我有一个看起来像的bash字符串
TEST="tags/1.2.3-abc"
Run Code Online (Sandbox Code Playgroud)
我希望在斜杠后提取部分,即"1.2.3-abc",当且仅当字符串以短语"tags /"开头时.如果后者不是这种情况,我希望字符串不变.
例子:
Input: tags/1.2.3-abc Output: 1.2.3-abc
Input: 1.2.3-abc Output: 1.2.3-abc
Input: trunk Output: trunk
Run Code Online (Sandbox Code Playgroud) 我想使用 pythonlogging工具将输出记录到不同的文件(每个模块都有自己的日志文件)。因此,我在每个 python 模块的开头添加类似以下内容,请参见示例:
... other imports ...
import logging
logger = logging.getLogger('factory')
fh = logging.FileHandler('log/factory.log')
fh.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s %(levelname)s: %(funcName)s:%(lineno)d %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
... code ...
Run Code Online (Sandbox Code Playgroud)
然后用于logger.info("text")记录消息。但是,log/factory.log尽管正在创建名为的文件,但没有数据写入!该目录log存在并且我有权写入该目录。使用该logging设施basicConfig工作正常......
在 Ubuntu Linux 上,我一直按照此处gtest给出的说明进行安装,并将头文件和库分别手动复制到和。gtest/usr/include/usr/lib
然后我尝试编译以下代码 ( test1.cpp)
#include <gtest/gtest.h>
TEST(MathTest, TwoPlusTwoEqualsFour) {
EXPECT_EQ(2 + 2, 4);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest( &argc, argv );
return RUN_ALL_TESTS();
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令
g++ -lgtest -lgtest_main -lpthread test1.cpp
Run Code Online (Sandbox Code Playgroud)
只是为了查看另一个无用的错误消息:
/usr/bin/ld: /tmp/ccQlmghI.o: undefined reference to symbol '_ZN7testing8internal9EqFailureEPKcS2_RKSsS4_b'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/libgtest.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?或者是否有另一个单元测试框架可以以简单的方式使用,并带有一个工作示例?
同样的问题已被问到here,但没有答案。
bash ×2
linux ×2
arrays ×1
c ×1
c++ ×1
command-line ×1
docker ×1
function ×1
git ×1
google-api ×1
logging ×1
macos ×1
php ×1
pointers ×1
python ×1
string ×1
sublimetext3 ×1
unit-testing ×1