我的问题
我的核心问题是我需要从core启动gnome-keyring-daemon。在bash中,这很简单:
> export `gnome-keyring-daemon`相当于:
> export GNOME_KEYRING_SOCKET=/tmp/0123.1.sds/keyring-abcdef/socket GNOME_KEYRING_PID=012345我的目标是在skills中获得相同的功能,但我的命令行技能不能胜任这项任务。
我试过什么
如果我跑了
回波
gnome-keyring-daemon_ tr '=‘’x_x/GNOME_KEYRING_套接字/setenv\GNOME_KEYRING_套接字/x_ sed s/ GNOME_KEYRING_PID/
我有一个很好的开始:
setenv GNOME_KEYRING_SOCKET /tmp/0123.1.sds/keyring-abcdef/socket ;setenv GNOME_KEYRING_PID 012345尽管我可以将输出复制并粘贴到命令行并使其正常工作,但如果我将该语句括为ticks以使其在一行上工作,则会得到以下错误:
无效的空命令。
我研究了它,发现它与需要转义或删除的新线溜进来有关;然而,即使在添加了\r和\n的替换命令之后,我仍然会得到这样的错误:
> | tr '\r' ' ' | tr '\n' ' ' |我在找什么
我真的需要任何东西,我可以添加到我的.cshrc文件,将启动守护进程。如果我走错了轨道,我很乐意听到另一种方法。
谢谢!
最后一件事我尝试了
为了简化这个问题,我还试着一次只设置一个变量:
setenv GNOME_KEYRING_PID `echo -n `gnome-keyring-daemon` | sed 's/.*GNOME_KEYRING_PID=\([0-9]\+\)/\1/'`这也给了我一个“无效的空命令”。尽管这样做是可行的:
setenv GNOME_KEYRING_PID `echo '1234'`发布于 2012-03-23 17:41:17
感谢“庇护所”和“gbulmer”,感谢您的帮助。我真的很讨厌回答我自己的问题,但这可能会对将来的人有所帮助.
最后,我更新了我的C Shell脚本,以便在多个单独的行上设置变量:
set gkd = `gnome-keyring-daemon`
set pid = `echo $gkd | sed 's/.*GNOME_KEYRING_PID=\([0-9]\+\)/\1/'`
set socket = `echo $gkd | sed 's/GNOME_KEYRING_SOCKET=\([^ ]\+\).\+/\1/'`
setenv GNOME_KEYRING_PID $pid
setenv GNOME_KEYRING_SOCKET $socket发布于 2012-03-21 19:14:23
您试过echo -n gnome-keyring-daemon | ...回显添加了新行吗?
https://stackoverflow.com/questions/9811193
复制相似问题