parameter

samba参数配置中的(G)和(S)是什么意思?
parameter

samba参数配置中的(G)和(S)是什么意思?

在官方文档中桑巴舞, 这smb.conf(5)页面有一个“每个参数的解释”部分。 对于某些参数,名称末尾会显示两个可能的值((G)或),但其他参数则不会显示任何值。(S) samba参数配置中的(G)和是什么意思? (S)(和空/什么都没有?) ...

Admin

如何配置 sudo 以允许某些参数
parameter

如何配置 sudo 以允许某些参数

特别是我想允许没有密码的以下命令: sudo cfgutil --ecid "${Device_ECID}" install-application "${in_File_Name}" 从一个呼叫到下一个呼叫的变化Device_ECID。in_File_Name我找到了几个例子,但大多数都是相反的:完全禁止变量参数或允许任何参数。 更新: 发布后不久我发现了通配符。以下对我有用: %_developer ALL=(root) NOPASSWD: /usr/local/bin/cfgutil list-devices %_developer ALL=(r...

Admin

具有多行错误消息的 Bash 参数替换
parameter

具有多行错误消息的 Bash 参数替换

我正在使用带有错误消息的参数替换,例如${var1:?'some message'}.我已经合并了多行错误消息。目前,只有用单引号引起来并使用 Enter 键插入换行符时,它才能正常运行。有没有一种聪明的方法来允许接受多行,单独保存? 我只是好奇地想探索一下。请避免建议涉及 if 语句的替代语法,除非它直接相关。 案例: 作品:单引号 needed=${1:?'first error line second error line third error line'} 不起作用:调用另一个字符串变量 usage_message='Please use thi...

Admin

包含控制字符的变量的参数扩展
parameter

包含控制字符的变量的参数扩展

我正在寻找替换组分隔符控制字符,该字符由终端打印为“^]”,并且八进制代码为:035,带有空格。 这可以简单地使用 tr 来完成,如下所示echo $line | tr '\035' ' ': 但是,我不会(不能)在 bash 脚本中使用外部命令,因此我希望使用参数扩展来用空格替换控制字符。 匹配控制字符的正确语法是什么,以下选项不起作用: ${line//'\035'/' '} ${line//'\0035'/' '} ${line//\035/' '} ${line//$'\035'/' '} 或者是否有另一种方法可以在不使用 tr 和 sed 等外部...

Admin

如何将参数扩展与命令替换一起使用?
parameter

如何将参数扩展与命令替换一起使用?

我想创建 12 个以月份命名的目录。因此,我尝试使用管道locale来获取月份名称,用tr逗号分隔它们,然后用大括号括起来并传递给mkdir.但整体被视为一根弦。有办法避免这种情况吗? 16:07: temp ⧲ mkdir {$(locale mon | tr \; ,)} 16:18: temp ⧲ ls -lh total 4.0K drwxr-xr-x. 2 john john 4.0K Dec 11 16:18 {January,February,March,April,May,June,July,August,September,Octob...

Admin

从 GUI 启动 Flatpak 应用程序时可以配置参数吗?
parameter

从 GUI 启动 Flatpak 应用程序时可以配置参数吗?

我的一个 Flatpak 应用程序停止正常工作,可能是在静默升级之后。我在网上找到了一个修复程序,告诉我添加一个参数。该修复有效。尽管如此,我喜欢从 GUI 运行该应用程序,因为它比在控制台中输入其全名要少得多。 举个具体的例子,我的程序是VSCodium,与Flatpak一起安装。修复方法是在禁用 GPU 的情况下运行它。 目前,GUI 运行的命令flatpak run com.vscodium.codium可能还带有一些参数,我希望它运行时flatpak run com.vscodium.codium --disable-gpu保留这些额外的参数。 如果...

Admin

shell脚本中关于火焰游戏的问题
parameter

shell脚本中关于火焰游戏的问题

我正在尝试用 shell 脚本制作一个火焰游戏。我取了两个名字并对名字进行排序。我的代码是这样的: var=$(j=1;for((i=0;i<${#name1Low};i++));do echo "${name1Low:i:j}";done |sort|tr -d '\n') #sorted name1 var1=$(j=1;for((k=0;k<${#name2Low};k++));do echo "${name2Low:k:j}";done |sort|tr -d '\n') #sorted name2 为了降低一切,我这样做 if [[ ...

Admin

分割参数列表
parameter

分割参数列表

我想创建一个接受可变数量参数的 bash 函数。必须至少有一个参数。然后我调用另一个程序,需要在接受的第一个参数和其余参数之间插入固定值。 我这样做是基于这个答案 tt() { name="$1" params="${@:2}" someapp ${name} 1234 /some/path "${params}" } 但它并没有像我想象的那样工作 tt John has fun 结果调用将是 someapp John 1234 /some/path 'has fun' 注意引号,而我需要结果是 someapp John 1234 /so...

Admin

是否可以将子字符串扩展应用于 zsh 数组的所有元素?
parameter

是否可以将子字符串扩展应用于 zsh 数组的所有元素?

假设我想从数组的所有元素中删除前两个和最后三个字符,例如 results=( QK9H9UtADCgnG AlaLkCADjQ krsxseW8H1VrU 6nBG94ZbCWQ ) 我想结束 results=( 9H9UtADC aLkCA sxseW8H1 BG94Zb ) 除了循环元素并使用之外,${element:2:-3}是否有一个标志或某种组合允许执行类似的操作${(⭕)results:2:-3},以便子字符串扩展影响每个元素而不是影响数组? 如果重要的话,在我的特殊情况下,数组可以绝不有空元素,元素可以不是包含任何类型的空白字符,并且提取...

Admin

澄清
parameter

澄清

这个问题听起来可能很复杂,但事实上并非如此!考虑: % f() { echo "$@"; } % f a a % f cmd -o"value with space" cmd -ovalue with space % f cmd -ovalue with space cmd -ovalue with space % f cmd -o'value with "quotes"' cmd -ovalue with "quotes" % f cmd -ovalue with "quotes" cmd -ovalue with quotes 显然,“带空间的值”只是...

Admin

使用 POSIX 参数扩展从变量中删除重复的字符串模式
parameter

使用 POSIX 参数扩展从变量中删除重复的字符串模式

我想用2.6.2 参数扩展从字符串中删除前导字符,但惊讶地发现“删除最大前缀模式”不会自动重复该模式。 $ x=aaaaabc $ printf %s\\n "${x##a}" aaaabc 如您所见,只有第一个a已被删除。预期输出为、、或中bc的任何一个。x=bcx=abcx=aabcx=aaabcx=aaaabc a如果我想从 的开头删除尽可能多的内容,我正在努力弄清楚如何编写该模式$x。我也没有运气搜索其他线程,因为许多答案都使用 bash,但我正在寻找 POSIX shell 解决方案。 ...

Admin

Bash 参数扩展 - 获取带有前缀的变量,同时转义连字符
parameter

Bash 参数扩展 - 获取带有前缀的变量,同时转义连字符

编辑: 我意识到我错误地理解了这篇文章中的一个中心假设:语法${!prefix@}无法获取函数名称,而只能获取变量。因此,${!prefix@}即使使用下划线,也无法返回函数名称。因此,我对下面的粗体问题的答案是明确的“否”。 尽管如此,埃德加下面的回答对于那些想要根据某个前缀获取函数名称列表的人来说还是很有帮助的。 原问题 这bash参数扩展手册为我们提供了一种获取当前环境中以某个前缀开头的所有变量(非函数)列表的方法: ${!prefix@} 我有一堆以 开头的函数foo-,例如foo-setup、foo-run、foo-initialize等。现在,我...

Admin

将各种配置文件中的 $placeholder 文本替换为 $placeholder 参数
parameter

将各种配置文件中的 $placeholder 文本替换为 $placeholder 参数

我束手无策,试图让 sed 为我做这件事,我感觉自己像个白痴。所以我希望有人能有一种更聪明的方法来完成看似非常简单的事情。 文件.conf: USER: !USER! 脚本.sh: param=$1 # something to replace !USER! with $param 运行后的file.conf script.sh squirrel: USER: squirrel ...

Admin

在 shell 脚本中从 args 数组分配 $*
parameter

在 shell 脚本中从 args 数组分配 $*

迭代 shell 参数并将不需要的参数过滤到数组中后,我想将数组分配回$*. 例如,在下面的脚本中,我想删除-f java按顺序排列的参数,并将其余参数存储在args数组中。有没有办法将过滤后的参数分配回$*? 我正在尝试这样做set --${*} $args,但它只采用第一个参数而不是整个数组。 如果我通过了 $ .test.sh arg1 arg2 -f java7 arg3 arg1 arg2 agr3 while (( $# )); do if [[ $1 = "-f" ]] && [[ $2 = "java7" ]];...

Admin

BASH:是否可以根据其参数更改功能提示?
parameter

BASH:是否可以根据其参数更改功能提示?

我想构造一个函数,该函数将根据其参数更改其用户输入提示。 my_fucntiondb_host提示用户输入后采用 1 个参数: function provide_host () { echo "Enter NAME OR IP OF ${function_param1} DATBASE HOST: " read global function_param1_db_host } 所以如果我将该函数称为 function provide_host (primary) 它应该提示为 echo "Enter NAME OR IP OF PRIMA...

Admin