|
あくつです。
(0) Cygwin から起動した秀丸の環境。
(A) ことの経緯は、2番会議室の発言を見てください。
Date: Tue, 25 Nov 2003 21:08:31 +0900
From: freeakjp <09xxxxxxxxxxxxxx@maruo.co.jp>
Subject: hidesoft.2:15871| マクロ run と cygwin の関係
(B) Bash スクリプトの 'hidemaru' は、
秀丸マクロの4番会議室の発言を見てください。
Date: Wed, 15 Oct 2003 16:57:54 +0900
From: 安久津<810xxxxxxxxxxxxxx@maruo.co.jp>
Subject: hidesoft.4:03894| hidemaru (bashスクリプト)
Date: Wed, 15 Oct 2003 21:05:55 +0900
From: 安久津<810xxxxxxxxxxxxxx@maruo.co.jp>
Subject: hidesoft.4:03895| RE 03894 hidemaru (bashスクリプト)
(1) 環境変数の違い。
注記。 "`< env.mac`" について。
カレントディレクトリにある env.mac の指定方法。
"`cat env.mac`" も同じ。
$ echo $SHELL
/bin/bash
$ cat env.mac
insert getenv("PATH") + "\n";
saveas "env.txt";
exit;
$ hidemaru -he "`< env.mac`"
'/cygdrive/c/program files/hidemaru/hidemaru.exe' /xtmp.mac /h
$ cat env.txt
C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;c:\ruby\bin;c:\JUST\JSLI
B32;
c:\windows;c:\windows\command;c:\jdk1.3.1_02\bin;C:\cygwin\home\ta\bin
$ hidemaru --showmacro
/cygdrive/c/program files/hidemaru/macro/tmp.mac
--
insert getenv("PATH") + "\n";
saveas "env.txt";
exit;;
if(updated==1 && basename!="") save; quit;
$ exit
logout
C:\cygwin\home\ta>c:\progra~1\hidemaru\hidemaru /xtmp.mac /h
C:\cygwin\home\ta>type env.txt
c:\ruby\bin;C:\JUST\JSLIB32;c:\windows;c:\windows\command;c:\jdk1.3.1_02\bin
C:\cygwin\home\ta>
=============================================================================
(2) バッチファイルで示す。
-- battest.bat --
@echo off
echo %PATH%
というバッチファイルを作成して、c:\windows\command などに置く。
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/cygdrive/c/ruby/bin:/cygdrive/c/JUST/JSLIB32:
/cygdrive/c/windows:/cygdrive/c/windows/command:/cygdrive/c/jdk1.3.1_02/bin:
/home/ta/bin
$ hidemaru -he 'run "battest.bat > con"; saveas "battest.txt"'
'/cygdrive/c/program files/hidemaru/hidemaru.exe' /xtmp.mac /h
$ cat battest.txt
C:\cygwin\usr\local\bin;C:\cygwin\bin;C:\cygwin\bin;c:\ruby\bin;c:\JUST\
JSLIB32;c:\windows;c:\windows\command;c:\jdk1.3.1_02\bin;C:\cygwin\home\ta\bin
$ exit
logout
C:\cygwin\home\ta>set | grep -iE "\<path\>"
PATH=c:\ruby\bin;C:\JUST\JSLIB32;c:\windows;c:\windows\command;
c:\jdk1.3.1_02\bin
C:\cygwin\home\ta>c:\progra~1\hidemaru\hidemaru /xtmp.mac /h
C:\cygwin\home\ta>type battest.txt
c:\ruby\bin;C:\JUST\JSLIB32;c:\windows;c:\windows\command;c:\jdk1.3.1_02\bin
C:\cygwin\home\ta>
=============================================================================
(3) hidemaru (Bash スクリプトでの対応方法)
Cygwin から秀丸を起動しても、環境変数を Windows と同じ、または
似せたい場合には、次のように編集します。
以下では、環境変数 PATH の設定例です。
(A) winpath=/cygdrive/c/windows:/cygdrive/c/windows/command
をファイルの最初の方に書いておきます。
( cygpath -u 'c:\windows' とかで確認 )
(B) 秀丸起動部分をサブシェルにします。
そこで環境変数を書き換えます。
( PATH="$winpath"
"$hm_hidemarudir/hidemaru.exe" $options "$f"
)
とか
( PATH="$winpath"
exec "$hm_hidemarudir/hidemaru.exe" $options "$f" &
)
です。
# 秀丸起動部分は4箇所です。
# それら全部を上記のように書き換えます。
# 他の環境変数、例えば $HOME も設定しなおしたい場合。
# ( PATH="$winpath"
# HOME='/cygdrive/c/home/myhome'
# "$hm_hidemarudir/hidemaru.exe" $options "$f"
# )
=============================================================================
(4) env.mac で動作テスト
$ cat env.mac
insert getenv("PATH") + "\n";
saveas "env.txt";
exit;
$ hidemaru -he "`< env.mac`"
'/cygdrive/c/program files/hidemaru/hidemaru.exe' /xtmp.mac /h
$ cat env.txt
c:\windows;c:\windows\command
$
|
|