Я решил эту проблему путем добавления
xhost +si:localuser:$USER
кому: ~/.xprofile
. Я не знаю, безопасно ли это в целом (мне очень было бы интересно слышать, какие более хорошо осведомленные люди думают), но я предполагаю, что это намного лучше, чем выключение управления доступом (с xhost +
) как обычно предлагается, когда Вы гуглите для этой проблемы.
Ваш арифметический синтаксис оценки является неправильным. Используйте любое из следующих (первое является чрезвычайно портативным, но медленным, вторым является POSIX и портативный кроме к Оболочке Bourne и более ранним версиям оболочки Almquist, последние три требуют ksh
, bash
или zsh
):
a=`expr "$a" + "$num"`
a=$(($a+$num))
((a=a+num))
let a=a+num
((a+=num))
Или можно просто пропустить все for
цикл и просто делает:
wc -l folder/*
Или, если Вы только хотите общее количество:
cat folder/* | wc -l
Или с zsh и mult_ios
опция:
wc -l < folder/*
можно также использовать этот код
a=`expr $a + $num`
echo $a
и УДОСТОВЕРЬТЕСЬ, ЧТО СУЩЕСТВУЕТ ПРОСТРАНСТВО С ОБЕИХ СТОРОН + В "$a + $num"
Сначала вы можете объявить тип переменной:
declare -i a=0
declare -i num=0
В ответе необходимо указать , для какой оболочки код действителен. Например, в оболочке Борна(sh
)действительны только следующие инструкции:
a=$((a+num))
a=$(($a+$num))
в то время как другие возможности, перечисленные @manatwork, могут быть действительными в оболочке bourne снова (bash
)
$
внутри((...))
.a=$((a+num))
уже прекрасен. – Weijun Zhou 07.02.2018, 10:08