альтернатива ключу pipe("|")

The problem I have is that it's not looping over my_array

С этим:

declare -a my_array=$1

Вы создаете массив только с одним значением :$1, первым аргументом, переданным вашему сценарию. Так что там особо не зацикливаешься.

Если вам нужны все аргументы, попробуйте:

declare -a my_array=$@

Вместо этого.

3
24.03.2020, 19:48
2 ответа

Если у вас есть клавиша >, вы можете попробовать:

dmesg > dmesg.txt
less dmesg.txt
1
28.04.2021, 23:19

Вариант 1:

Это не общая замена | но будет работать в некоторых случаях:

less <(dmesg)

Вариант 2 (требует \):

perl -e 'print "I=\"".chr(124)."\"\n"' >>.bashrc

Вариант 3:

perl -e 'print "I=".'"'"'"'"'"'.chr(124).'"'"'"'"'"'.'"'                                               
'"  >>.bashrc

Вариант 4 :Отредактируйте.bashrc и введите (, например. делаяcat >>.bashrc):

I=$(perl -e 'print chr(124)')

Запустите новый bash, а затем вы можете запустить:

eval dmesg $I grep Linux $I less
1
28.04.2021, 23:19

Теги

Похожие вопросы