Blog/content/posts/2024/shell/pure-sh-array.md

26 lines
510 B
Markdown
Raw Normal View History

2024-12-02 11:44:50 +03:00
---
2024-12-02 11:46:09 +03:00
title: "✴️ Массивы на чистом Shell"
2024-12-02 11:44:50 +03:00
date: 2024-12-02T11:42:09+03:00
draft: false
tags: [shell, linux, tips, development]
---
```sh
#!/bin/sh
IFS='|'
STROKE='Firebrick|SeaGreen|Sienna|Blue|Purple|Tomato'
set -f
getNth() { shift "$(( $1 + 1 ))"; printf '%s\n' "$1"; }
getLast() { getNth "$(( $(length "$@") - 1 ))" "$@"; }
length() { echo "$#"; }
INDEX=0
while [ $INDEX -le $(expr $(length $STROKE) - 1) ]; do
echo $(getNth $INDEX $STROKE)
INDEX=$(expr $INDEX + 1)
done
```