小编Mic*_*mer的帖子

在终端中输入单个撇号有什么作用?

'不小心输入了一个单曲,结果得到了这个,并'在再次输入后退出。

'
>
> '


: command not found
Run Code Online (Sandbox Code Playgroud)

这有什么作用?

command-line terminal command-not-found

4
推荐指数
1
解决办法
1万
查看次数

bash 中的命令替换声明语法 - 这两个中哪一个更好?

这是 bashfind循环的一部分,我想知道哪个语法更正确,为什么?

filename="$(echo "$i" | cut -c5-)";
filename=`echo "$i" | cut -c5-`;
Run Code Online (Sandbox Code Playgroud)

这两个函数都是为了获取文件名。

bash command-substitution variable

4
推荐指数
2
解决办法
453
查看次数

用于将 Shift+Down 重新绑定到 Up 的 Xmodmap 语法

我想通过 Xmodmap 在 Linux 上重新绑定一些键。我的宏碁(是的,我知道)笔记本电脑上的左和上光标坏了。我想将 Shift+向下映射到向上,将 Shift+从右映射到左侧。努力从手册页中确定其语法。这个语法是错误的,抛出错误的修饰符,但捕获了意图:

add Shift_L+Down = Up
Run Code Online (Sandbox Code Playgroud)

x11 xmodmap keyboard-layout

4
推荐指数
1
解决办法
700
查看次数

将 Bash 变量中的路径扩展为 sed 表达式

我想问一下这条线有什么问题?

sed -i "/$PWD/a\ Hello World" historia.txt
Run Code Online (Sandbox Code Playgroud)

当我拥有它时,''除了""它正在工作之外,当然没有扩展变量。

bash sed

4
推荐指数
1
解决办法
7238
查看次数

使用 bash 并行运行 python 脚本 200,000 次

我需要运行我的 Python 脚本 200,000 次。是否可以使用 bash 进行并行执行?由于它是 200,000 次,我想同时使用至少 10 个线程

bash python multithreading

4
推荐指数
1
解决办法
2万
查看次数

有没有办法告诉 make 将规则应用于与模式匹配的每个文件?

我正在开发一个项目,其目录结构看起来有点像这样:

inputs/
   a.txt
   b.txt
   c.txt

outputs/
   a.out
   b.out
   c.out

makefile
Run Code Online (Sandbox Code Playgroud)

文件夹中的文件outputs是从文件夹中的文件生成的inputs,我想每当输入文件之一发生更改时自动更新它们。

我尝试通过创建带有模式规则的 makefile 来做到这一点。(为了使这个问题简单,我只是复制输入文件而不是转换它)

outputs/%.txt: inputs/%.out
    cp $< $@
Run Code Online (Sandbox Code Playgroud)

然而,这个 makefile 并没有完全达到我想要的效果。如果我运行,make outputs/a.txt它将应用我编写的规则,并重新生成输出文件(如果它已过时),但如果我只是运行,则make不会发生任何情况:

outputs/%.txt: inputs/%.out
    cp $< $@
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉 make 默认情况下我想为输入文件夹中的每个文件生成一个输出文件?

编辑:使输出文件具有与输入文件不同的文件后缀。

make

4
推荐指数
1
解决办法
2556
查看次数

在 bash 后台运行时的内部 for 循环会产生新的 bash 进程

我正在执行下面的脚本

LOGDIR=~/curl_result_$(date |tr ' :' '_')

mkdir $LOGDIR

for THREADNO in $(seq 20)
do
for REQNO in $(seq 20)
do
 time curl --verbose -sS  http://dummy.restapiexample.com/api/v1/create --trace-ascii ${LOGDIR}/trace_${THREADNO}_${REQNO} -d @- <<EOF >> ${LOGDIR}/response_${THREADNO} 2>&1
 {"name":"emp_${THREADNO}_${REQNO}_$(date |tr ' :' '_')","salary":"$(echo $RANDOM%100000|bc)","age":"$(echo $RANDOM%100000|bc)"}
EOF
echo -e "\n-------------------------------" >> ${LOGDIR}/response_${THREADNO}
done 2>&1 | grep real > $LOGDIR/timing_${THREADNO} &
done
Run Code Online (Sandbox Code Playgroud)

一段时间后,如果我检查没有 bash 进程,它会显示 20(不是 1 或 21)

ps|grep bash|wc -l
Run Code Online (Sandbox Code Playgroud)

问题是由于我没有使用方括号“()”来包围内循环,所以不应该产生新的 shell 进程。我想避免在 CPU 使用率接近 100% 时创建新的 shell。我不知道这是否重要,但我正在使用 Cygwin。

bash pipe background-process for

4
推荐指数
1
解决办法
208
查看次数

这个 expr 在 shell 脚本中做什么?

下面具体做了什么?

newProg=`expr "${newProg}" : ".* -> \(.*\)$"`   
if expr "x${newProg}" : 'x/' >/dev/null; then    
   prog="${newProg}"     
else    
    progdir=`dirname "${prog}"`   
    prog="${progdir}/${newProg}"    
fi   
Run Code Online (Sandbox Code Playgroud)

shell-script expr

3
推荐指数
1
解决办法
1258
查看次数

在文件的第一列打印大写单词

我想要我的输出:

VDD.
GND
AGNDSUB 
VMEASPOS.
VMEASNEG
VREFEXT 
Run Code Online (Sandbox Code Playgroud)

File1 具有以下信息:

Power and signal 
VDD Digital Power This pin provides power supply connection for the digital
blocks.
GND Digital Ground This pin provides ground connection for the digital blocks.
AGNDSUB Ground This pin provides substrate connection.
VMEASPOS Digital Power Voltage to be measured.
VMEASNEG Ground Ground for the voltage to be measured.
VREFEXT Digital Power Reference voltage input of 1.024V %for VSENS calibration.
operating voltage
Run Code Online (Sandbox Code Playgroud)

files

2
推荐指数
1
解决办法
414
查看次数

我无法理解 bash 脚本结果

这是脚本:

    echo '1 2 3 4 5 6' | while read a b c ;do
    echo result: $c $b $a;
    done
Run Code Online (Sandbox Code Playgroud)

结果是 3 4 5 6 2 1 谁能解释一下为什么?

bash shell-script

2
推荐指数
2
解决办法
3121
查看次数