|
发表于 2011-9-17 17:38:40
|
显示全部楼层
Post by chengliye;2152260
普通用户的emacs已运行于dameon模式,我想在root 用户使用emacsclient编辑文档时,在普通用户的emacs中打开。
以普通用户身份执行的emacsclient 就能编辑root权限的文件,这是我的脚本:
- #!/bin/bash
- file_name="$@"
- if [ "${file_name:0:1}" != "/" ]
- then
- abs_path_prefix="$(pwd)/"
- else
- abs_path_prefix=""
- fi
- if [ -w "$file_name" ]
- then
- sudo_prefix=""
- else
- sudo_prefix="/sudo::"
- fi
- if pgrep -f "emacsclient -c">/dev/null
- then
- emacs_client_cmd="emacsclient"
- else
- emacs_client_cmd="emacsclient -c"
- fi
- if [ -z "$file_name" ]
- then
- args="$@"
- else
- args="--eval "(find-file \\"${sudo_prefix}${abs_path_prefix}${file_name}\\")""
- fi
- cmd="${emacs_client_cmd} ${args}"
- sh -c "$cmd" >/dev/null &
复制代码
以后编辑文件的时候运行这个脚本即可 |
|