有料版のAdobe Acrobat(StandardやPro)にはOCR(Optical Character Recognition:光学文字認識)機能がある。その中でClearScanというOCRがある。ClearScanではPDFの画像の文字を解析して,その文字とよく似たフォントで画像を置換してくれる。ClearScanでフォントを埋め込むことで,以下2点の利点がある。
ItunesStats file ('/media/senooken/IENEKO/iPod_control/iTunes/iTunesStats'): entry length smaller than expected (0
Above problem prevents Amarok from using your iPod. You can try to re-create critical iPod folders and files (including iTunes database) using the initialize iPod button below.
Initializing iPod destroys iPod track and photo database, however it should not delete any tracks. The tracks will become orphaned.
# Example xorg.conf.d snippet that assigns the touchpad driver # to all touchpads. See xorg.conf.d(5) for more information on # InputClass. # DO NOT EDIT THIS FILE, your distribution will likely overwrite # it when updating. Copy (and rename) this file into # /etc/X11/xorg.conf.d first. # Additional options may be added in the form of # Option "OptionName""value" # Section "InputClass"
bash LOCAL="$HOME/.local" GET="wget -nc" mkdir -p "$LOCAL/src/python" cd "$LOCAL/src/python"
## For pip $GET https://pypi.python.org/packages/6b/dd/a7de8caeeffab76bacf56972b3f090c12e0ae6932245abbce706690a6436/setuptools-28.3.0.tar.gz $GET https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz
## For Sphinx $GET 'https://pypi.python.org/packages/1f/f6/e54a7aad73e35232356103771ae76306dadd8546b024c646fbe75135571c/Sphinx-1.4.8.tar.gz#md5=5ec718a4855917e149498bba91b74e67'
N=100000 time -p sh -c 'i=0; while [ "$i" -lt $N ]; do echo $((i=i+1)) >/dev/null; done' N=100000 time -p sh -c 'for i in $(printf "%0${N}d\n" | sed "s/0/0 /g"); do echo $i >/dev/null; done' N=100000 time -p sh -c 'for i in $(echo "for (i=1; i<=$N; ++i) i" | bc); do echo $i >/dev/null; done' N=100000 time -p sh -c 'for i in $(awk -v N=$N "BEGIN{ for(i=1; i<=N; ++i) print i}"); do echo $i >/dev/null; done'
Wait this many seconds for a key to be pressed before displaying the menu. If no key is pressed during that time, display the menu for the number of seconds specified in GRUB_TIMEOUT before booting the default entry. We expect that most people who use GRUB_HIDDEN_TIMEOUT will want to have GRUB_TIMEOUT set to ‘0’ so that the menu is not displayed at all unless a key is pressed. Unset by default.
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration'
# Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console
# The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"
— Command: encoding enc [denc] (none) Tell screen how to interpret the input/output. The first argument sets the encoding of the current window. Each window can emulate a different encoding. The optional second parameter overwrites the encoding of the connected terminal. It should never be needed as screen uses the locale setting to detect the encoding. There is also a way to select a terminal encoding depending on the terminal type by using the ‘KJ’ termcap entry. See Special Capabilities.
command_file The pathname of a file containing commands. If the pathname contains one or more <slash> characters, the implementation attempts to read that file; the file need not be executable. If the pathname does not contain a <slash> character: The implementation shall attempt to read that file from the current working directory; the file need not be executable.
If the file is not in the current working directory, the implementation may perform a search for an executable file using the value of PATH, as described in Command Search and Execution.
Special parameter 0 (see Special Parameters) shall be set to the value of command_file. If sh is called using a synopsis form that omits command_file, special parameter 0 shall be set to the value of the first argument passed to sh from its parent (for example, argv[0] for a C program), which is normally a pathname used to execute the sh utility.
set -eu umask 0022 export LC_ALL='C' PATH="$(command -p getconf PATH):$PATH"
export N=10000 export NULL="/dev/null"
## test vs. >/dev/null time -p sh -c 'for i in $(yes|head -$N); do command -v which >$NULL; done' time -p sh -c 'for i in $(yes|head -$N); do [ "$(command -v which)" ]; done' echo ""
## Vs. all commmand time -p sh -c 'for i in $(yes|head -$N); do command -v which >$NULL; done' time -p sh -c 'for i in $(yes|head -$N); do command -V which >$NULL; done' time -p sh -c 'for i in $(yes|head -$N); do hash which 2>$NULL; done' time -p sh -c 'for i in $(yes|head -$N); do hash which 2>&-; done' time -p sh -c 'for i in $(yes|head -$N); do type which >$NULL; done' time -p zsh -c 'for i in $(yes|head -$N); do whence which >$NULL; done' time -p sh -c 'for i in $(yes|head -$N); do which which >$NULL; done'
The command -v and -V options were added to satisfy requirements from users that are currently accomplished by three different historical utilities: type in the System V shell, whence in the KornShell, and which in the C shell. Since there is no historical agreement on how and what to accomplish here, the POSIX command utility was enhanced and the historical utilities were left unmodified. The C shell which merely conducts a path search. The KornShell whence is more elaborate-in addition to the categories required by POSIX, it also reports on tracked aliases, exported aliases, and undefined functions.
now()( EXE_NAME='now' dt=$(date +%Y%m%dT%H%M%S) OPTSTR=':lst-:' for opt in $(echo $OPTSTR | sed 's/[:-]//g' | fold -w 1); do eval is_opt_$opt='false' done
while getopts $OPTSTR opt; do case "$opt${OPTARG-}" in l|-long) dt=$(date +%Y-%m-%dT%H:%M:%S);; s|-short) dt=$(date +%Y%m%dT%H%M%S );; t|-time-zone) is_opt_t='true';; \?*) echo "$EXE_NAME: invalid option -- '$OPTARG'">&2; exit 1;; *) echo "$EXE_NAME: unrecognized option '-$opt$OPTARG'">&2; exit 1;; esac done
if $is_opt_t; then TIME_ZONE=$(get_tz) [ -n "${dt%%*:*}" ] && TIME_ZONE=$(printf '%s\n'"$TIME_ZONE" | sed 's/://') dt="$dt$TIME_ZONE" fi
echo "$dt" )
上記のnow関数は以下のように使う。
now # 20161227T232101 Same as now -s or now --short now -t # 20161227T232119+0900 With time zone, same as now -st or now --time-zone now -l # 2016-12-27T23:22:07 ISO 8601 extended format. same as now --long now -tl # 2016-12-27T23:22:36+09:00 Same as now --long --time-zone
POSIXにおけるコマンドの実行の流れは,XCUのCommand Search and Executionに書かれている。自作のシェルスクリプトやコマンドは,1.e.i.bか2のどちらかに分類される。この2種類はPATH変数から探すか,相対パスで実行するかの違いであり,中身はほぼ同じだ。以下に1.e.i.bの第1段落を抜粋する。
b. Otherwise, the shell executes the utility in a separate utility environment (see Shell Execution Environment) with actions equivalent to calling the execl() function as defined in the System Interfaces volume of POSIX.1-2008 with the path argument set to the pathname resulting from the search, arg0 set to the command name, and the remaining execl() arguments set to the command arguments (if any) and the null terminator.
There are two distinct ways in which the contents of the process image file may cause the execution to fail, distinguished by the setting of errno to either v[ENOEXEC] or [EINVAL] (see the ERRORS section). In the cases where the other members of the exec family of functions would fail and set errno to [ENOEXEC], the execlp() and execvp() functions shall execute a command interpreter and the environment of the executed command shall be as if the process invoked the sh utility using execl() as follows:
where <shell path> is an unspecified pathname for the sh utility, file is the process image file, and for execvp(), where arg0, arg1, and so on correspond to the values passed to execvp() in argv[0], argv[1], and so on.
Another way that some historical implementations handle shell scripts is by recognizing the first two bytes of the file as the character string "#!" and using the remainder of the first line of the file as the name of the command interpreter to execute.
ファイルの先頭2バイトをチェックしているので,UTF-8やUTF-16などでBOM(Byte Order Mark)が付いている場合,shebangは認識されず1.のルートでスクリプトが実行される。その場合,BOMがコマンドとみなされて,当然ながらそんなコマンドはないので,line 1: command not foundというエラーが出る。
1. The shell reads its input from a file (see sh), from the -c option or from the system() and popen() functions defined in the System Interfaces volume of POSIX.1-2008. If the first line of a file of shell commands starts with the characters "#!", the results are unspecified.
Applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh, and should be determined by interrogation of the PATH returned by getconf PATH, ensuring that the returned pathname is an absolute pathname and not a shell built-in.
Interpreter scripts An interpreter script is a text file that has execute permission enabled and whose first line is of the form:
#! interpreter [optional-arg]
The interpreter must be a valid pathname for an executable file. If the filename argument of execve() specifies an interpreter script, then interpreter will be invoked with the following arguments:
interpreter [optional-arg] filename arg...
where arg... is the series of words pointed to by the argv argument of execve(), starting at argv[1].
For portable use, optional-arg should either be absent, or be specified as a single word (i.e., it should not contain white space); see NOTES below.
The semantics of the optional-arg argument of an interpreter script vary across implementations. On Linux, the entire string following the interpreter name is passed as a single argument to the interpreter, and this string can include white space. However, behavior differs on some other systems. Some systems use the first white space to terminate optional-arg. On some systems, an interpreter script can have multiple arguments, and white spaces in optional-arg are used to delimit the arguments.
Another way that some historical implementations handle shell scripts is by recognizing the first two bytes of the file as the character string "#!" and using the remainder of the first line of the file as the name of the command interpreter to execute.
On systems that support set-user-ID scripts, a historical trapdoor has been to link a script to the name -i. When it is called by a sequence such as:
sh -
or by:
#! usr/bin/sh -
the historical systems have assumed that no option letters follow. Thus, this volume of POSIX.1-2008 allows the single <hyphen-minus> to mark the end of the options, in addition to the use of the regular "--" argument, because it was considered that the older practice was so pervasive. An alternative approach is taken by the KornShell, where real and effective user/group IDs must match for an interactive shell; this behavior is specifically allowed by this volume of POSIX.1-2008. Note: There are other problems with set-user-ID scripts that the two approaches described here do not resolve.
できることなら,次回のPOSIX規格の改定時にここの曖昧さがなくなってくれたら嬉しい。具体的には,現在2.1 Shell Introductionで「If the first line of a file of shell commands starts with the characters "#!", the results are unspecified.」となっているところを,以下のツイートのように#!から始まる場合にどのように処理すべきか明記してほしい。
3. Changes from version 2.2 • new preference to hide named anchors' icons in Wysiwig view • new button to insert or automatically update a Table of Contents (if originally created by BlueGriffon) • the toggle between absolute and relative URIs in Image Insertion dialog was buggy • the title of the main Window was not centered on OS X • the link to Opquast from the Opquast Accessibility First Step window was obsolete • the update manager could fail in some rare circumstances • let empty inline nodes remain (user request) • themes ironing • Dual View, including lots of changes everywhere to handle it correctly • fixed a regression in editorHelper.jsm • fixed a regression in Style Properties panel • added Reset License button to the Preferences panel • fixed min/max/close buttons on Windows in light theme
BlueGriffon 2.3のユーザーマニュアルでは,[15. The Dual View]でこの機能について解説されている。そこでの注意点として,BlueGriffonの機能であるリアルタイムスペルチェッカーが有効であると,ソースコードの変更結果をWYSIWYG画面に反映させる場合に,パフォーマンスに影響があると書いてある。