在放置在花括号中的“while”循环中分配变量不起作用

钥匙扣

bash 脚本获取参数、排序、修改并将它们输出到文件中。我也尝试将最后一个排序的参数保存在变量中,但它不起作用。变量为空。变量的赋值在花括号内的管道“while 循环”内。

我试过在脚本的开头引入变量,它没有效果。

#!/bin/bash

# Set work dir to place where the script located
cd "$(dirname "$0")"

# Read args
for arg in "$@"
do    
    echo "$arg"
done | sort | { 
while read -r line 
do  
    echo "$line" + "modifier"
    last_sorted_arg="$line" # It does not work
done } > sorted_modified_args.txt


# Empty string - not Ok
echo "$last_sorted_arg"

sleep 3

我可以使用一个临时文件和两个循环来解决它,但它看起来不太好。有没有办法在没有临时文件和两个循环的情况下做到这一点?

#!/bin/bash

cd "$(dirname "$0")"

for arg in "$@"
do    
    echo "$arg"
done | sort > sorted_args.txt


while read -r line 
do  
    last_sorted_arg="$line"
done < sorted_args.txt

# Ok
echo "$last_sorted_arg"


# It works too
while read -r line 
do  
    echo "$line" + "modifier"
done < sorted_args.txt > sorted_modified_args.txt

sleep 3
沃尔特

局部变量在子流程中丢失。

编辑:删除了不工作的代码,试图让事情接近原始代码。

排序可以以不同的方式完成:

#!/bin/bash

last_sorted_arg=$( printf "%s\n" "$@" | sort -n | tee sorted_modified_args.txt | tail -1)
echo "last=${last_sorted_arg}"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

花括号中的变量不起作用

来自分类Dev

Realloc在while循环中不起作用

来自分类Dev

Implode() 在 While 循环中不起作用

来自分类Dev

是否可以在while循环中分配变量?

来自分类Dev

如何在 WHILE EXISTS() 循环中分配变量

来自分类Dev

PHP While循环中的While循环不起作用

来自分类Dev

foreach循环中的PHP变量变量不起作用

来自分类Dev

为什么 For 循环中的 While 循环在我的程序中不起作用?

来自分类Dev

在循环中删除数据框中的分配不起作用的列

来自分类Dev

numpy中的变量分配不起作用?

来自分类Dev

+ =在For循环中不起作用

来自分类Dev

Bash exec在无限while循环中不起作用

来自分类Dev

而在while循环中似乎不起作用-PHP

来自分类Dev

在不起作用的while循环中减去| Python

来自分类Dev

scanf() 方法在 while 循环中不起作用?

来自分类Dev

BufferedReader readLine() 在 while 循环中不起作用

来自分类Dev

Equals 函数在 While 循环中不起作用

来自分类Dev

getline() 函数在 while 循环中不起作用

来自分类Dev

如何修复在while循环中不起作用的计数

来自分类Dev

重新绑定在for循环中不起作用的变量

来自分类Dev

$ @变量在for循环中不起作用,尝试遍历用户列表

来自分类Dev

循环中的变量不起作用(C#+ Razor)

来自分类Dev

重新绑定在for循环中不起作用的变量

来自分类Dev

UILongPressGestureRecognizer中的While循环不起作用

来自分类Dev

while循环在Java中不起作用

来自分类Dev

循环中的数组中的foreach对象不起作用

来自分类Dev

在循环中调用函数在Python中不起作用

来自分类Dev

updateMatrixInput在R Shiny中的观察循环中不起作用

来自分类Dev

循环中的Handlebar Registerhelper在Meteor中不起作用

Related 相关文章

热门标签

归档