Каталог с именем «linux -4.13.10», содержащий содержимое размером 13 ГБ в разделе «Загрузки»?

Почему бы и нет var=abc;./test.sh "$var" "$var"?

Или вызовите скрипт с одним аргументом, и скрипт обработает отсутствующее значение:

#!/bin/bash
fieldValue1=$1
fieldValue2=${2:-$1}
...

, затем:./test.sh fooвыводит{"field1"="foo", "field2"="foo"}


Обратите внимание, что это не JSON :используйте двоеточие, не равное:{"field1":"foo", "field2":"foo"}

Также вы оставляете переменные без кавычек, когда назначаете переменную jsonString. Сделай это

jsonString='{"field1":"'"$fieldValue1"'", "field2":"'"$fieldValue2"'"}'
#......................^............^...............^............^
# or
jsonString="{'field1':'$fieldValue1', 'field2':'$fieldValue2'}"
# or
printf -v jsonString '{"field1":"%s","field2":"%s"}' "$fieldValue1" "$fieldValue2"

Также следует защититься от значений, содержащих кавычки:

printf -v jsonString '{"field1":"%s","field2":"%s"}' \
    "${fieldValue1//\"/\\\"}" \
    "${fieldValue2//\"/\\\"}"

Тогда

$./test.sh 'he said "foo"'
{"field1":"he said \"foo\"","field2":"he said \"foo\""}

На основе обновленных требований. Назначение переменной должно быть отдельным шагом. Вам также не хватает синтаксиса замены команды$(...)

Первый обновленный скрипт:

#!/bin/bash
pairs=()
for ((i=1; i<=$#; i++)); do
    value=${!i}
    pairs+=( "$(printf '"%s":"%s"' "field$i" "${value//\"/\\\"}")" )
done
IFS=,
echo "{${pairs[*]}}"

Затем вызовите его следующим образом

startDate=1/1/2020
bash test.sh "$startDate" someOtherValue "$startDate" "$(date -u -d "$startDate 1 hour" "+%FT%TZ")" "anotherValue"

и получите этот вывод:

{"field1":"1/1/2020","field2":"someOtherValue","field3":"1/1/2020","field4":"2020-01-01T01:00:00Z","field5":"anotherValue"}

-1
25.12.2020, 08:21
2 ответа

Поскольку он находится в папке загрузок, я бы сказал, что его можно безопасно удалить.

0
18.03.2021, 22:40

Это выглядит как совершенно обычное дерево исходных текстов ядра, хотя, учитывая общий размер, я думаю, что вы использовали git, чтобы получить намного больше, чем вам действительно нужно.

В любом случае удаление должно быть безопасным.

... Кроме того, текущее (по состоянию на декабрь 2020 года ядро ​​)4.x — это 4.19, а 5.10 вышло не так давно; если вы все еще на 4.15, может потребоваться другое обновление.

0
18.03.2021, 22:40

Теги

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