Почему я получаю “требуемое целое выражение”?

1) Сделайте ссылку:

find . -type f -exec sum {} \; | sort -k3 > /my/reference.txt

2) Проверьте время выполнения

find . -type f -exec sum {} \; | sort -k3 | diff /my/reference.txt -

, где

  • сортировка -K3 сделать сортировку на имя файла
  • diff Часть будет отображаться , добавлен или удален.
-1
05.01.2015, 02:59
3 ответа
divisible_by () {
  under_test=12
  from=2
  to=4
  for ((check=from; check<=to; check++)) {
    echo "check=$check"
    ((under_test % check == 0)) || return
  }
  true
}

if divisible_by; then
  echo true
else
  echo false
fi
5
28.01.2020, 05:06

x = divisible_by не будет вызывать функцию divisible_by . То, что вы можете сделать, это либо

divisible_by
x=$?

(но это плохой способ сделать в случае , или ), или

divisible_by () {
[...]
echo $divisible
}

x=$(divisible_by)
[...]
0
28.01.2020, 05:06

Также осознавать ограничение Windows на съемных флэш-устройствах, где он не может видеть, но первый раздел . Да, независимо от файловой системы на нем.

Решения, которые я обнаружил, что раздел данных позволяет использовать раздел данных в том, что глупые ОС:

A) сначала поставить раздел данных сначала на устройстве, а затем система, загрузочный раздел,

B ) Или поставьте его, где вам нравится лучше всего, а затем поменяйте номер разделов. Простой способ достижения этого описан на на этом посте : точка « 4a. Используйте rmprepusb " в одиночку делает трюк.

Это требует запуска rmprepusb (GPL) из Windows с помощью USB-накопителя, подключенного. Кстати, я ищу способ поменять разделы на USB-устройстве от Linux. Пожалуйста, поделитесь, если вы знаете!

-121--101418-

Вы должны изменить строку:

  if [ $under_test % $check -ne 0 ]; then

в

  if [ "$(($under_test % $check))" -ne 0 ]; then

без того, что тест ( [[) дает слишком много аргументов.

Что я сделал, чтобы найти, что это просто запустить программу:

under_test=12
from=2
to=4
divisible=0
for ((check=from; check<=to; check++)) {
  echo "check= $check"
  if [ $under_test % $check -ne 0 ]; then
    divisible=1
  fi  
}

и получите это, чтобы работать правильно.

Другая проблема возвращает значение из функции:

divisible_by () {
  under_test=12
  from=2
  to=4
  divisible=0
  for ((check=from; check<=to; check++)) {
    echo "check= $check"
    if [ "$(($under_test % $check))" -ne 0 ]; then
      divisible=1
    fi  
  }
  mydivisible=$divisible
}

divisible_by
x=$mydivisible
if [ "$x" -eq 0 ]; then
  echo "true"
else
  echo "false"
fi

в качестве возврата не возвращает значение функции.

Бег, который дает вывод:

check= 2
check= 3
check= 4
true
0
28.01.2020, 05:06

Теги

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