我试图让一个 .desktop 文件运行一个与 .desktop 存储在同一目录中的 .sh。整个目录需要可移植并在机器之间移动。
我的运行脚本是 run.sh
我试过了:
[Desktop Entry]
Type=Application
Terminal=true
Name=RunMe
#Exec=sh -c "`dirname %k`/run.sh"
#Exec=bash -c "export PATH=$PATH:`dirname %k`; bash run.sh;"
#Exec=bash -c "export PATH=$PATH:`dirname %k`; sh run.sh;"
Exec=bash -c "export PATH=$PATH:`dirname %k`; run.sh;"
Run Code Online (Sandbox Code Playgroud)
但是当我双击 .desktop 文件时没有任何反应。如果我双击“run.sh”并选择“run”,脚本运行良好。如果我使用 ' sh run.sh'从命令行运行脚本,它工作正常。
任何想法,甚至只是如何调试它实际试图运行的路径?
在某些情况下,我安装了实用程序/程序,但命令名称与程序名称不同。
就像我最近安装了 PostgreSQL 一样,安装后我运行了命令
postgresql
Run Code Online (Sandbox Code Playgroud)
但它给出了一个错误 bash: postgresql command not found
所以我在互联网上搜索,发现启动 postgresql 的命令是
psql
那么,我如何找出使用什么名称访问哪个实用程序/程序?
我做了,apt-cache show postgresql但即使在那里也没有提到该程序将使用命令访问psql
请不要建议locate命令。它没有帮助。
我需要传递某些变量来bc获得浮点输出,
var1=$((<some operation>))
var2=$((<some operation>)) #Needs var1
var3=$((<some operation>)) #Needs var2
bc -l <<< $var3 #Need output in Floating points
Run Code Online (Sandbox Code Playgroud)
输出:
(standard_in) 1: illegal character: $
Run Code Online (Sandbox Code Playgroud)
无论如何要克服这个?
更新:
diff=$(($epoc2-$epoc1))
var1=$(($diff / 60))
var2=$(($var1 / 57))
var3=`bc <<< 'scale=2; $var2'`
Run Code Online (Sandbox Code Playgroud) 我试图实现这样的目标:如果用户将运行make build_x version=1.0则显示Building version 1.0,否则(make build_x不带version参数)显示Building version latest。但这里的关键是什么 - 我需要将版本设置-为默认值(以便能够正确使用它git)。这就是为什么我使用附加变量version_info替换为 的-原因latest。
所以我的代码如下所示:
build_x:
$(eval version ?= -)
$(eval version_info = ${if ["${version}" == "-"], "latest", "${version}"})
${INFO} "Doing checkout according to version $(version_info)..."
Run Code Online (Sandbox Code Playgroud)
我知道问题可能出在给 的这个条件上if。
有任何想法吗?
Exec=sh -c "some command' %k
Run Code Online (Sandbox Code Playgroud)
在没有资料man sh,并man exec在%K。
%k 在这里是什么意思?
假设我有一个没有运行 shell 的环境,所以我不能使用重定向、管道、here-documents 或其他 shell-ism,但我可以启动一个命令(通过execvp或类似的方式)。我想将任意字符串写入命名文件。是否有一个标准命令可以执行以下操作:
somecommand outputfile 'string'
Run Code Online (Sandbox Code Playgroud)
例如:
somecommand /proc/sys/net/ipv4/ip_forward '1'
Run Code Online (Sandbox Code Playgroud)
一个非常愚蠢的例子可能是:
curl -o /proc/sys/net/ipv4/ip_forward http://example.com/1.txt
Run Code Online (Sandbox Code Playgroud)
我在其中设置 1.txt 以包含我想要的字符串。
是否有可以滥用的通用命令来执行此操作?
以下命令通过BTC从特定交易所获取价格来实现我的目标。
curl -sS https://api.binance.com/api/v1/ticker/price?symbol=BTCUSDT | jq -r '.price'
Run Code Online (Sandbox Code Playgroud)
输出暂时是,7222.25000000但我想得到它7222.25
我是使用 Linux 的完全初学者,我想知道如何将命令行中的一堆数据导出到 csv 或电子表格文件(甚至文本也可以)。现在我只是echo在一个打印出大量数据的主题上使用。所以我可以看到随着时间流逝的数据。我想要做的是仅将带有数字的部分分开并将它们导出到数据文件中。
因此,例如,如果命令重复流式传输类似以下内容:
header:
seq: 93342
stamp:
secs: 1406820172
nsecs: 191358647
frame_id: ''
name: ['arm_joint_1', 'arm_joint_2', 'arm_joint_3', 'arm_joint_4', 'arm_joint_5', 'gripper_finger_joint_l', 'gripper_finger_joint_r']
position: [2.116426527797216, 1.8058519002096407, -1.6111500844302575, 3.479512978878036, 2.8513271915116376, 0.0, 0.0]
velocity: [-0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0]
effort: []
---
header:
seq: 93343
stamp:
secs: 1406820172
nsecs: 211357280
frame_id: ''
name: ['arm_joint_1', 'arm_joint_2', 'arm_joint_3', 'arm_joint_4', 'arm_joint_5', 'gripper_finger_joint_l', 'gripper_finger_joint_r']
position: [2.116426527797216, 1.8058519002096407, -1.6111500844302575, 3.479512978878036, 2.8513271915116376, 0.0, 0.0]
velocity: [-0.0, -0.0, 0.0, -0.0, -0.0, 0.0, 0.0]
effort: …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用pv,但我想隐藏我通过管道输入的命令,同时仍然能够看到 pv 的输出。使用command &> /dev/null | pv不起作用(如 pv 不接收任何数据)。command在标准输出和标准错误上都产生输出,我也不想看到。
我尝试使用 grep 管道 ( command &> /dev/null | pv | grep <=>) 但不时将内容输出到终端。
我在/mnt上安装了几个子文件夹。一个是/mnt/data,另一个是/mnt/1804iso。该/数据包括数据文件夹和文件从安装另一个磁盘,和/ 1804iso包括安装其内容我想复制到文件夹ISO文件/媒体/尼/ 0EB4-95E2 /这是一个安装闪存驱动器。
所以我打开bash并输入sudo cp -Rn /mnt/1804iso/.* /media/benny/0EB4-95E2/. 我通常会省略通配符星号/*/之前的句点,但如果我这样做,则 ISO 中的隐藏文件不会复制。所以有了这个命令,一件奇怪的事情发生了。正确复制 ISO 文件后,它也开始复制/mnt/data文件夹和文件。我不明白为什么会发生这种情况,因为没有引用该文件夹,除非我对命令部分的理解/mnt/1804iso/.*完全有缺陷。
有人可以解释为什么我的/mnt/data文件夹被包含在复制中吗?
bash ×4
.desktop ×2
bc ×1
command ×1
command-line ×1
cp ×1
csv ×1
files ×1
freedesktop ×1
gnome-shell ×1
grep ×1
jq ×1
make ×1
numeric-data ×1
output ×1
path ×1
pipe ×1
pv ×1
scripting ×1
sed ×1
shell ×1
shell-script ×1
spreadsheet ×1