12

CLispの現在の作業ディレクトリを変更するのは非常に簡単です。

>cat ~/.clisprc.lisp 
;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
  (load quicklisp-init)))

(cd "/media/E/www/qachina/db/doc/money")
(load "money")

ただし、cdSBCLには同様の機能はないようです。これはSBCLでどのように行うことができますか?

4

5 に答える 5

15
CL-USER> (sb-posix:chdir "/home/apugachev")
0
CL-USER> (sb-posix:getcwd)
"/home/apugachev"
CL-USER> (sb-posix:chdir "/tmp/")
0
CL-USER> (sb-posix:getcwd)
"/tmp"
于 2013-10-07T08:55:06.643 に答える
12
(setf *default-pathname-defaults* #P"/New/Absolute/Path/")
于 2016-07-11T19:10:31.483 に答える
7

同じ質問がありました。結局のところ

(setf *default-pathname-defaults* (truename "./subdir"))

ロード パスをサブディレクトリに変更します。相対パスが必要ない場合は、

(setf *default-pathname-defaults* (truename "/absolute/path"))
于 2016-10-12T00:40:30.003 に答える
0

今、私は rlwrap を使用して SBCL を実行し、この問題を解決します

$"cat ~/bin/sb"
breakchars="(){}[],^%$#@\"\";:''|\\"

cd /media/E/www/qachina/db/doc/money/
exec rlwrap --remember -c -b "$breakchars"  -f "$HOME"/.sbcl_completions sbcl "$@"

次に実行しsbます。

于 2011-10-23T03:35:31.930 に答える