小编Ilj*_*Bek的帖子

为什么Linux内核#define是一个符号呢?

在Linux内核中,可以找到一行看起来多余的代码:

#define __arch_swahb32 __arch_swahb32
Run Code Online (Sandbox Code Playgroud)

像这样的成语的目的是什么?

c linux-kernel

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

Bash:如何在一行中应用两个字符串操作?

我想立即更改变量中文件的路径和扩展名,例如,执行以下操作

for F in $( find /foo/bar -name "*.ext" ); do 
  Ftmp=${F%.ext}
  cp $F ${Ftmp//bar/b0r}.tmp 
done
Run Code Online (Sandbox Code Playgroud)

没有临时变量

可以一次应用两个字符串操作,只有bash意味着什么?

string bash

6
推荐指数
1
解决办法
1508
查看次数

bash:覆盖echo以在脚本中打印自定义前缀

我有一些冗长的脚本互相调用,我希望他们的输出更具描述性.我们的想法是为每个脚本定制echo命令,如下所示.

我的问题是,如何使它非递归,使用echo

这是script1.sh

#!/bin/bash
#Original version:
#function echo(){ echo $(basename $0 .sh): $1; }
#Version after fixes
function echo(){ builtin echo -n "$(basename $0 .sh): ">&2; builtin echo $@ ; } 
echo Info
./script2.sh
Run Code Online (Sandbox Code Playgroud)

这是script2.sh

#!/bin/bash
#Original version:
#function echo(){ echo $(basename $0 .sh): $1; }
#Version after fixes
function echo(){ builtin echo -n "$(basename $0 .sh): ">&2; builtin echo $@ ; } 
echo Info
exit 0
Run Code Online (Sandbox Code Playgroud)

所以输出应该是:

>./script1.sh
script1: Info
script2: Info
Run Code Online (Sandbox Code Playgroud)

---编辑

奖金:

>./script1.sh 2> /dev/null …
Run Code Online (Sandbox Code Playgroud)

bash overloading verbosity

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

标签 统计

bash ×2

c ×1

linux-kernel ×1

overloading ×1

string ×1

verbosity ×1