私の問題
私の主な問題は、cシェルからgnome-keyring-daemonを起動する必要があることです。bashでは、それは非常に簡単です。
> export `gnome-keyring-daemon`
これは次と同等です:
> export GNOME_KEYRING_SOCKET=/tmp/0123.1.sds/keyring-abcdef/socket GNOME_KEYRING_PID=012345
私の目標はcシェルで同じ機能を取得することですが、私のコマンドラインスキルはそのタスクに対応していません。
私が試したこと
私が走ったら
エコー
gnome-keyring-daemon
| tr'=''' | sed s / GNOME_KEYRING_SOCKET / setenv \ GNOME_KEYRING_SOCKET / | sed s / GNOME_KEYRING_PID / \; setenv \ GNOME_KEYRING_PID /
良いスタートを切る:
setenv GNOME_KEYRING_SOCKET /tmp/0123.1.sds/keyring-abcdef/socket ;setenv GNOME_KEYRING_PID 012345
その出力をコピーしてコマンドラインに貼り付けて機能させることができるという事実にもかかわらず、そのステートメントをティックで囲んで1行で機能させると、次のエラーが発生します。
nullコマンドが無効です。
私はそれを調査し、それがエスケープまたは削除する必要がある改行の忍び込みに関連していることを確認しました。ただし、次のように\rおよび\nの置換コマンドを追加した後でもエラーが発生します。
> | tr '\r' ' ' | tr '\n' ' ' |
私が探しているもの
gnome-keyring-daemonを起動する.cshrcファイルに追加できるものが本当に必要です。私が間違った方向に進んでいる場合は、別のアプローチを聞いてうれしいです。
ありがとう!
私が試した最後の1つ
これを本当に単純化するために、一度に1つの変数を設定することも試みました。
setenv GNOME_KEYRING_PID `echo -n `gnome-keyring-daemon` | sed 's/.*GNOME_KEYRING_PID=\([0-9]\+\)/\1/'`
これにより、「無効なnullコマンド」も表示されます。これが機能するという事実にもかかわらず、メッセージ:
setenv GNOME_KEYRING_PID `echo '1234'`