我很难理解以下功能。它应该为以 using 开头-
或以{-
using开头的行着色blue
。如何仍然打印不匹配的行?
kls ()
{
rst='tput sgr0'
ctp='tput bold; tput setaf 39'
sed -E "s/^ *\{?-.*/${ctp}; printf '%s' '&';${rst}/e" <<< "$@"
}
我很难理解以下功能。它应该为以 using 开头-
或以{-
using开头的行着色blue
。如何仍然打印不匹配的行?
kls ()
{
rst='tput sgr0'
ctp='tput bold; tput setaf 39'
sed -E "s/^ *\{?-.*/${ctp}; printf '%s' '&';${rst}/e" <<< "$@"
}
我对在 bash 函数中设置局部变量感到困惑。
似乎使用
local dgt
local ltr
local braces
local da
可能比使用更安全
local dgt ltr braces da
我担心变量可能没有被定义为本地变量,或者没有设置值。那会发生吗?
例如,考虑
local foo="$(mycmd)"
命令的退出状态被创建局部变量的退出状态覆盖。
那么正确的代码是
local foo
foo=$(mycmd)
使用以下函数,我希望能够使用nico-usage
或使用数值来调用它以打印不同的字符串。
Con 这被清理或变得更容易。
nico-usage ()
{
local docstrg_lang="
{-V, --version}, {-u, --usage}, {-h, --help}
-s SCAL, --scale SCAL"
local docstrg_usage="
nicolaus -s 0.5 -aq 3"
usg=$1
if (( usg == 1 )); then
echo "$docstrg_lang"
elif (( usg == 2 )); then
echo "$docstrg_usage"
else
echo "$docstrg_lang"
fi
}
我有一个包含 ogg 文件的目录,想更改以i-
.
我能做什么?例如,做rename 's/i-nuovi/nuovi/g' *
给了我
Unknown option: marino-barreto-cinque-minuti-ancora.ogg
Usage:
rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E perlexpr]*|perlexpr
[ files ]
出了点问题,但无法追踪。如何确保我i-
从头开始观看?
想要在三个不同的目录树上使用 find 命令。
我目前在每个父目录上工作.
find . -type f -name "*.flac" -exec rename 's/--/-/g' {} \;
想要将查找应用到三个目录/media/bard/repo01/
,/media/bard/repo02/
以及/media/bard/repo03/
.
想要将 find 命令与多个重命名命令一起使用。我该怎么做。
这是我想用find
命令执行的序列
rename "s/ /-/g" * ; rename 'y/A-Z/a-z/' * ; rename 's/[.]-/-/g' * ; rename 's/--/-/g' *
例如,我有一个文件列表
./2020/47-06/gl-086115.org
./2020/47-06/gl-085792.org
./2020/47-06/gl-086941.org
./2020/47-06/gl-087140.pdf
./2020/47-06/gl-085982.pdf
./2020/47-06/gl-087032.org
./2020/47-06/gl-086115.pdf
./2020/47-06/gl-087490.pdf
我正在使用以下命令删除开头gl-
,但没有成功。
find . -type f -name '*gl-*' -exec rename 's/^gl-//g' {} \;
我正在编写自己的函数,这些函数来自我的.bashrc
. 我不明白我是否应该export -f curisac
在定义函数后使用curisac
。
我正在使用导出来设置环境变量。
export OPCON_VERBOS=${vb}
以后如何取消设置以使其不再被定义?
我在 Ubuntu 18.04 LTS(仿生海狸)上使用 Bash shell。我想允许用户在 bash 中定义一个环境变量,可以在后续终端实例中使用该变量来设置使用该变量的某些函数的详细程度。
用户必须做些什么来启用和禁用此类功能?重点是让用户无需.bashrc
直接更改即可启用或禁用环境变量功能。这些设置应该只适用于需要这种能力的特定用户。
我有以下bash
需要更改的条件测试。
if (( exec_rc == 1 )) && [ -z "$keymap_actm" ] && [ -n "$modmap_actm" ]; then
(( exec_rc == 1 ))
必须始终为真。
但是,如果两者中的任何一个[ -z "$keymap_actm" ]
或[ -n "$modmap_actm" ]
为真,我想执行条件的主体。
什么是实现我想要的可读方式?
我有以下 bash 函数,该函数在定义0
变量时返回verbos
。已阅读 bash 手册,其中说当 return 命令 return 时N
,N
省略了,返回状态是函数内执行的最后一个命令的状态。
我怎样才能在最后只使用 return,取 N 的值,取决于返回状态[ -n vb ]
?
tesverbos ()
{
vb="${verbos+vbset}"
if [ -n "$vb" ]; then
return 0
else
return 1
fi
}