我有一个文件层次结构和两个单词:word1 和 word2。在这个文件层次结构中,其中一些可以包含 word1。我想用 word2 替换每次出现的 word1。可以使用单个 bash 命令还是我必须为此任务开发脚本?先感谢您!
Fredi's questions
我是 LINUX 的初学者,如果我的问题不是最好的,我很抱歉。我有一个使用 OpenCV lib 的 c++ 应用程序。此应用程序在启动时通过服务运行(使用 systemctl)。我的应用需要作为参数,即 USB 摄像头设备的 ID。我有 2 个 USB 摄像头。当我关闭这些设备时, ls /dev/video* 的输出是:
/dev/video1
如果我插入设备, ls /dev/video* 的输出是:
/dev/video0
/dev/video1
/dev/video2
所以,我找到了 USB 摄像头设备,现在,我知道如何运行我的 C++ 应用程序:
./my_app 0 2
这是我的问题:我的应用程序在每次启动时自动运行,无需插入/关闭我的相机设备,因此我无法找到这些 ID(在本例中为 0 和 2)。每次重新启动时,这些 id 都不同。
仅找出 USB 摄像头设备的规则是什么?我的操作系统:Ubuntu 18.04 LTS 我的主板:Nvidia Jetson Tx2(它有一个我不想使用的集成摄像头)
编辑:lsusb 的输出:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 03f0:094a Hewlett-Packard Optical Mouse [672662-001]
Bus 001 Device 004: ID 258a:0001
Bus 001 Device 039: ID 0ac8:0346 Z-Star Microelectronics Corp.
Bus 001 Device 038: ID 0ac8:0346 Z-Star Microelectronics Corp.
Bus 001 Device 037: ID 14cd:8601 Super Top
Bus 001 Device 002: ID 14cd:8601 Super Top
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
我是 LINUX 操作系统的初学者,我的问题是下一个:
我有一个使用 OpenCV 和另一个库的 C++ 源代码编译的 bin,它在屏幕上显示从 USB 相机提供的图像。我的代码工作正常,下一步是每次我的板子上电时执行这个 bin 文件。我做了一些研究,发现可以帮助我的可靠方法是创建我自己的服务,该服务可以使用 systemctl 启用。我试过但没有成功,但我不确定我的服务文件是否配置正确。另外,我尝试使用启动应用程序,再次失败。PS:我的主板:Nvidia Jetson Tx2,我的操作系统:Ubuntu 18.04 LTS。
我正在等待任何建议,并感谢您做出回应。谢谢!
编辑:我的服务文件配置:
[Unit]
Description=Script that will execute my bin
[Service]
ExecStart=/home/nvidia/Desktop/daemonScripts/daemonVDM.sh start
[Install]
WantedBy=multi-user.target
这daemonVDM.sh
#!usr/bin/bash
path_vdm_bin="/home/nvidia/Desktop/running"
cd $path_vdm_bin
./vdm --camera-sources 1
输出systemctl status myscript
myscript.service: Main process exited, code=exited, status=203/EXEC
myscript.service: Failed with result 'exit-code'
我的 shell daemonVDM.sh 工作正常
我执行了以下命令:
sudo chmod 777 myscript.service
systemctl start myscript
systemctl enable myscript