我很难理解以下为什么返回1的代码.
echo 'Total' | grep -c No
0
Run Code Online (Sandbox Code Playgroud)
因此"总计"中不存在"否".但是后来查看它的返回码我认为它是1.
echo $?
1
Run Code Online (Sandbox Code Playgroud)
为什么返回代码显示为1?有办法解决这个问题吗?
这是我正在运行的 shell 代码:
#!bin/bash
while true
do
req=$(curl http://localhost/devcalls/camerarequest.php)
if [ "$req" == "1" ]
then
sudo bash /home/ckoy-admin/HAS_system/camera/cam.sh
fi
done
Run Code Online (Sandbox Code Playgroud)
这是我执行时遇到的错误:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1 100 1 0 0 56 0 --:--:-- --:--:-- --:--:-- 58
CAM.sh: 7: [: 1: unexpected operator
Run Code Online (Sandbox Code Playgroud)
请让我知道这里出了什么问题。
我可以使用sudo
或su
以另一个用户身份执行命令.通过组合exec
,我能够用sudo
或替换当前进程su
,以及运行命令的子进程.但我想用另一个用户运行的命令替换当前进程.我怎么做?
使用sleep inf
命令和someguy
用户进行测试:
exec su someguy -c 'sleep inf'
Run Code Online (Sandbox Code Playgroud)
这给了我pstree
:
bash???su???sleep
Run Code Online (Sandbox Code Playgroud)
和
exec sudo -u someguy sleep inf
Run Code Online (Sandbox Code Playgroud)
给
bash???sudo???sleep
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,我只想要sleep
命令,bash
作为父命令.
我希望我能有什么的一些序列做到这一点由C setuid()
和exec()
.
现在,我所知道的是:
find / -name string.*
Run Code Online (Sandbox Code Playgroud)
区分大小写,它将找不到名为的文件:
1string.x
STRing.x
string1.x
Run Code Online (Sandbox Code Playgroud)
我如何搜索以便在搜索中将所有上述内容返回到不区分大小写的匹配?
我正在尝试jq
在 Windows 机器上运行查询,它从单独一行的输出中提取值
jq -r .Accounts[].Id
Run Code Online (Sandbox Code Playgroud)
输出
204359864429
224271824096
282276286062
210394168456
090161402717
Run Code Online (Sandbox Code Playgroud)
如何运行jq
查询,以便将输出组合在由空格分隔的单行上
这就是我需要的-
204359864429 224271824096 282276286062 210394168456 090161402717
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
我有很多小写的文字,唯一的问题是,有很多特殊字符,我想用数字删除它.
下一个命令它不够强大:
tr -cd '[alpha]\n '
Run Code Online (Sandbox Code Playgroud)
如果是éćščž和其他一些人,则返回"?" 但我想删除所有这些.有更强的命令吗?
我使用linux mint 4.3.8(1)-release
我正在尝试gtk3中的CSS,我不明白如何使用特定的类.
C代码:
provider = gtk_css_provider_new();
display = gdk_display_get_default();
screen = gdk_display_get_default_screen (display);
gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_USER);
gtk_css_provider_load_from_path(GTK_CSS_PROVIDER(provider),"styles.css",NULL);
enter_button = gtk_button_new_with_label("Print");
g_signal_connect(G_OBJECT(enter_button), "clicked", G_CALLBACK(print_entry_dialog),&t_data);
gtk_box_pack_start(GTK_BOX(hbox3), enter_button, TRUE, TRUE, 0);
Run Code Online (Sandbox Code Playgroud)
Css(styles.css):
GtkButton{
background: #669999;
text-shadow: 1px 1px 5px black;
box-shadow: 0px 0px 5px black;
border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
但我想设置一个'enter_button'类,它只为'enter_button'设置属性,而不是为GtkButton名下的所有小部件设置属性.
我读到了gtk_style_context_add_class()func,但我不知道它如何与'styles.css'文件一起使用.我该做什么?
我有以下文件:
2
1
4
3
2
1
Run Code Online (Sandbox Code Playgroud)
我想要这样的输出(没有任何重复项并保留顺序的唯一行):
4
3
Run Code Online (Sandbox Code Playgroud)
我尝试过sort file.txt | uniq -u
它有效,但输出已排序:
3
4
Run Code Online (Sandbox Code Playgroud)
我尝试awk '!x[$0]++' file.txt
保持顺序,但它会打印一次所有值:
2
1
4
3
Run Code Online (Sandbox Code Playgroud) 我有一个pom.xml
这样的
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.qualtrics.sujitv</groupId>
<artifactId>maven-test</artifactId>
<packaging>jar</packaging>
<version>1.2.3.4</version>
<name>Test app</name>
<url>http://maven.apache.org</url>
</project>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用xmllint获取版本,但是当我运行时
xmllint --xpath 'string(project/version)' ./pom.xml
Run Code Online (Sandbox Code Playgroud)
它什么也没输出
我有一个bash
正在运行的脚本sudo
:sudo NewScript
在脚本中,我有一个git
不想运行的命令sudo
。目前,由于整个脚本是用sudo
这个命令运行sudo
的,所以我想抑制它。
这样的事情是可能的还是我需要在没有命令的情况下运行脚本sudo
并sudo
为除git
命令之外的脚本中的每个命令添加?