为什么 C++ 中的 shell 脚本代码不起作用?
why shell script code in c++ don't work?
我需要知道控制台(Ubuntu(中的下一个自由行,所以我用C++编写了这段代码
using namespace std;
#define SCRIPTGETNEXTLINE "#!/bin/bash n
echo -en "\E[6n"n
read -sdR CURPOS
CURPOS=${CURPOS#*[}n
CURPOS=$(echo $CURPOS | cut -d ';' -f 1)n
echo $CURPOS"
int main (){
system(SCRIPTGETNEXTLINE);
return 0;
}
但是我得到了错误:
sh: 2: read: Illegal option -s
在脚本中这有效
#/bin/bash
echo -en "E[6n"
read -sdR CURPOS
CURPOS=${CURPOS#*[}
CURPOS=$(echo $CURPOS | cut -d ';' -f 1)
echo $CURPOS
有人可以帮我吗?
-s
选项被 bash
的 read
命令理解,但您是在 sh
下运行它,并且 Posix shell 的read
不知道 -s。 请注意,在您的情况下,将忽略#!
行,因为您将整个命令作为字符串传递。
我建议你将脚本写入文件 x 然后通过以下方式执行文件
system("bash x")
然后,这将向终端显示变量 CURPOS 的值。
相关文章:
- 为什么这段代码不起作用,我该如何解决?
- 为什么这些完全相似的代码不起作用?
- 我不明白为什么我的代码不起作用并且需要更长的时间来运行
- 我正在尝试解决一个需要数组总和值但代码不起作用的问题,我想做这样的事情
- 注释一行使代码工作,而没有它,代码不起作用
- 我的C++合并排序代码不起作用。我在这里错过了什么?
- C ++函数重新定义(代码不起作用 - 逻辑错误)
- 试图找到一个数字的平方根,但代码不起作用。C++
- 字符串代码不起作用
- 我正在努力在随机数组中查找最小值,有人知道为什么我的代码不起作用?C++
- 从 C++ 转换的 C# 代码不起作用
- 有人可以解释我,为什么我的代码不起作用吗?
- 当我使用长整型时,我的代码不起作用,它与 int 一起工作得很好
- 无法在控制面板中创建轨道栏.示例代码不起作用
- CUDA我的共享内存代码不起作用,我缺少什么
- 为什么 C++ 中的 shell 脚本代码不起作用?
- 为什么C++代码不起作用(strncpy_s)?
- 模板函数声明为 void - 代码不起作用?
- 无法弄清楚为什么这个Arduino代码不起作用?
- "check if member exists using enable_if"中修改的代码不起作用