相关疑难解决方法(0)

bash 中的“eval”命令是什么?

你可以用eval命令做什么?为什么有用?它是 bash 中的某种内置函数吗?没有man它的页面。。

shell bash eval

261
推荐指数
7
解决办法
65万
查看次数

bash 动态(变量)变量名

我想通过操作元素数组并创建一些算术过程来动态创建字符串序列。

for name in FIRST SECOND THIRD FOURTH FIFTH; do
    $name = $(( $6 + 1 ))
    $name = "${$name}q;d"
    echo "${$name}"; printf "\n"
done
Run Code Online (Sandbox Code Playgroud)

期望结果将是下面的$6equals 0

1q;d
2q;d
3q;d
4q;d
5q;d
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误

reel_first_part.sh: line 18: FIRST: command not found
reel_first_part.sh: line 19: ${$name}q;d: bad substitution
reel_first_part.sh: line 18: FIRST: command not found
reel_first_part.sh: line 19: ${$name}q;d: bad substitution
reel_first_part.sh: line 18: FIRST: command not found
reel_first_part.sh: line 19: ${$name}q;d: bad substitution
Run Code Online (Sandbox Code Playgroud)

我想这很简单。当我做类似的事情时它曾经工作过

FIRST=$(( $6 + 1 …
Run Code Online (Sandbox Code Playgroud)

bash variable

23
推荐指数
3
解决办法
6万
查看次数

在shell中间接扩展变量

我需要在bashshell 中间接引用一个变量。

我基本上想make通过写作来做你可以做的事情$($(var))

我曾尝试使用${$var}哪个是最直接的解决方案,bash但随后出现此错误:

bash: ${$var}: bad substitution
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

我想要做的是使用迭代变量将所有参数 ( $1, $2, $3, ...) 迭代到程序中,如果没有间接,我无法做到这一点。

shell bash environment-variables arguments variable

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

如果变量等于 bash 脚本

我如何添加一个变量作为我想要检查值的变量的名称。我的代码如下,当我运行这个我得到错误:

[: A_variable: integer expression expected
Run Code Online (Sandbox Code Playgroud)

我认为这是因为在对变量执行 if 时,正确的语法应该是: if [ $A_variable -eq 1 ]; 但我无法将美元符号放在我的变量前面,因为我在变量的值中放置了一个不同的变量。

它几乎应该是:如果 [ $${letter}_variable 或一些混合,但我不知道是什么?

array=("A" "B" "C")

A_variable=1
B_variable=2
for letter in "${array[@]}"
do

if [ ${letter}_variable -eq 1 ]; then
...
Run Code Online (Sandbox Code Playgroud)

bash

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

标签 统计

bash ×4

shell ×2

variable ×2

arguments ×1

environment-variables ×1

eval ×1