问题标签 [parameter-expansion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - bash expr 命令
我正在尝试制作一个 bash shell 脚本,该脚本可以将名称值对添加到文本文件中,例如TEST=true
. 我正在尝试这样做,因此如果用户尝试添加一个已经存在的名称,例如TEST=false
它不会让他们这样做。谁能告诉我如何使用expr
命令提取字符之前的任何文本=
?任何帮助将不胜感激。
谢谢
shell - 如何执行存储在变量中的命令?
调用存储在变量中的某些命令的正确方法是什么?
1和2有区别吗?
bash - 无法在bash中将大括号扩展与参数扩展结合起来
我想用大括号扩展来回应 $1 $2 $3。但它不起作用。
扩展的顺序是:大括号扩展、波浪号扩展、参数、变量和算术扩展以及命令替换(以从左到右的方式完成)、分词和路径名扩展。
根据bash手册,大括号扩展是在参数扩展之前进行的。
所以我认为 bash 应该先进行大括号扩展${1..3}
,将其转换为echo $1 $2 $3
,然后进行参数扩展。
然而,事实是 bash 抱怨${1..3}
是一个糟糕的替代品。这是为什么?
PS:谢谢你们!你们所有的答案都很棒。但我认为
Ignacio Vazquez-Abrams 的回答更接近我想要的。
bash - 使用 '/' 的 Bash 变量扩展
在 while read line 循环中,我看到了这个变量扩展${line/device name:}
。我试过用我自己的输入文件运行脚本,它只是打印出这一行。
你能告诉我这个扩展在做什么吗?
bash - 如何理解这个“bash” shell 命令
命令是:
我已经单独运行它,[ -d $x ] && echo $x
只输出目录名称。是什么${1:-.*}
意思?
bash - Bash:使用 {} 替换文件扩展名
我正在测试带有参数扩展的 bash 文件名替换,如下所示:如何更改 Linux shell 脚本中的文件扩展名?
但是,我似乎无法按照我的意愿进行以下工作:
给定以下文件:
我运行find
flac 文件以parallel
运行echo
测试输出的命令。我正在尝试替换.flac
为.mp3
.
我的输出是:
如果有什么不同,我打算使用它ffmpeg
。
编辑:预期输出:
编辑2:要替换文件扩展名,我可以使用:
但是,这提供了以下输出
\
也许现在这是一个 ffmpeg 问题,因为如果有一个字符代替空格字符,ffmpeg 将无法找到文件。
bash - Bash 参数扩展 - 获取文件的直接父目录
我想使用参数扩展获取给定文件的直接父目录的名称,例如foo
given 。/home/blah/foo/bar.txt
现在我可以用两行来做到这一点:
但我对参数扩展很陌生,所以我认为这可以优化。有没有办法只用一行来做到这一点?
substring - 如何在 Fish shell 中提取子字符串?
我得到以下变量:
并且只想使用shell 语法/
显示(斜杠)之前的部分。fish
预期结果
美国
Bash 等价物
使用 bash,我只是使用了参数扩展:
问题
我该怎么做fish
?
bash - 获取文件名的一部分
我尝试num23.txt
仅使用一个 bash 变量来获取文件的编号。
我尝试只使用%
and/
运算符。它如何更改最后一个命令以仅作为输出23
?