Следующий сценарий является намного более чистым способом получить вывод, который Вы хотите.
#!/usr/bin/env bash
(($# == 0)) && {
echo "Usage: $0 <page_count>"
exit 1
} >&2
# nTotal = $1 rounded up to a multiple 8
nTotal=$(($1 + 7))
nTotal=$((nTotal - nTotal % 8))
nHalf=$((nTotal / 2))
nQuarter=$((nTotal / 4))
# print page numbers in groups of 4, 2 groups at a time
for ((x=0; x < nQuarter; x+=2)); do
printf '%du,%du\n%d,%d\n' \
$((x + 1)) $((nTotal - x)) $((nHalf - x)) $((nHalf + x + 1))
printf '%du,%du\n%d,%d\n' \
$((nTotal - (x + 1))) $((x + 2)) \
$((nHalf + x + 2)) $((nHalf - x - 1))
done
$ ./imposition8 16
1u,16u
8,9
15u,2u
10,7
3u,14u
6,11
13u,4u
12,5
Я переписал Ваш сценарий, потому что было несколько проблем с оригиналом.
Вы использовали не -sh
совместимый bash
определенный синтаксис, таким образом, я исправил строку хижины для соответствия.
Во всей вещи можно выполнить чистая bash
. Использование нескольких tr
вызовы, внешнее awk
, и bc
неэффективно. В частности, необходимо знать это bash
и даже совместимый POSIX sh
может сделать математику внутренне.
Наконец я решил проблему. Благодаря Wireshark.
От журналов Wireshark я видел это когда smbclient
сделал его задание затем, коллеги обменивались подкомандами GET_DFS_REFERRAL. Но эти сообщения отсутствовали, когда я пытался смонтировать долю с mount.cifs
.
Кажется, что сервер использует средства Распределенной файловой системы, таким образом, я пытался добавить поддержку DFS к ядру, и это сделало прием. Теперь я могу отлично перейти, читать и записать в моей смонтированной доле.
На самом деле я думал это smbclient
и mount.cifs
используемый те же инструменты низкого уровня для соединения с серверами SMB/CIFS, но это не так. Похоже, что Samba может обработать сам DFS без поддержки ядра.
smbclient не монтирует долю, "смонтируйте, что-t cifs..." вместо этого делает это. Необходимо быть суперпользователем для монтирования долей. Вы могли попробовать sudo mount -t cifs //server.name/sharename /mount/point -o username=youruser,domain=yourdomain
?
mount
команда бросила бы ошибку.
– Patrick
02.05.2013, 15:22