Как проверить номер устройства в `/proc/1/ns/{ns}`?

Использованиеhttps://www.shellcheck.net(Я использую его как синтаксический плагин vim для создания сырой IDE)

Я бы пошел с этим;

#!/bin/bash

P="$(echo -n "$1" | wc -c)"
SUM=0;
for X in $(echo "$1" | fold -w 1) ; do
    SUM=$(echo "$SUM+($X^$P)" | bc );
done
echo "$SUM"

Это не «чистый» bash, но я считаю, что сила bash заключается в широком выборе инструментов,и приоритет разборчивости.

для трассировки стека: если вы добавите следующее в начало всех ваших скриптов, это сообщит вам об ошибках;

set -e
trap 'echo "ERROR: $BASH_SOURCE:$LINENO $BASH_COMMAND" >&2' ERR

он остановит скрипт на строке ошибки, сделает вывод как

test.sh: line 7: no: command not found
ERROR: test.sh:7 no + 5

вместо (потенциально тихо )игнорируя ошибки. Используйте -x для отладки;

bash -x armstrong.sh 222
++ echo -n 222
++ wc -c
+ P=3
+ SUM=0
++ fold -w 1
++ echo 222
+ for X in $(echo "$1" | fold -w 1)
++ echo '0+(2^3)'
++ bc
+ SUM=8
+ for X in $(echo "$1" | fold -w 1)
++ echo '8+(2^3)'
++ bc
+ SUM=16
+ for X in $(echo "$1" | fold -w 1)
++ echo '16+(2^3)'
++ bc
+ SUM=24
+ echo 24
24

2
04.03.2020, 14:29
0 ответов

Теги

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