CURLでターミナルを使用してTwitterに投稿する
質問
ここまで来ました:
:~ curl -u username:password -d status="new_status" http://twitter.com/statuses/update.xml
今、ターミナルから簡単にツイットできるように、変数でこれをエイリアスするにはどうすればよいですか?エイリアスを別のセッションで機能させるにはどうすればよいですか(ターミナルエイリアスリセットを閉じたとき)。
ありがとう!
解決
aliasコマンドが明確にあります。これを〜/ .bashrcに入れると、bashシェルの起動時にセットアップされます。 (.shrcはshのようなシェルでも機能するはずです。)
前の回答が示唆するように、スクリプトファイルに貼り付ける場合:
(a)行を追加
#!/bin/sh
上部;
(b)パス上にあることを確認します。そうしないと、スクリプトを実行するときにパス全体を入力する必要があります。
(c)実行可能にする
chmod +x tweet.sh
他のヒント
基本認証はtwitterではサポートされなくなりました。 OAuthを使用してください。
ファイルを配置し、引数1を$ 1として使用するのはどうですか
# tweet.sh "post my status, moron!":
curl -u username:password -d status="$1" http://twitter.com/statuses/update.xml
それは機能しますか?
新しいターミナルが開くたびに参照されるファイルをホームディレクトリに作成する必要があります。
使用しているシェルの種類に応じて、ファイルの名前について少し調査します(tcshは.tcshrcというファイルを探し、bashは.bashrcを探します)。
そのファイルを取得したら、次を実行して実行可能にします:
chmod +x name_of_file
次に、そのファイルでエイリアスを作成します(ここでも、使用しているシェルの種類に応じて、これを行う方法を調査する必要があります)。 tcshの場合、私のエイリアスは次のようになります。
alias tw 'curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
Bashエイリアスは等号を使用します。 bashエイリアスは次のようになります。
alias tw='curl -u username:password -d status=\!^ http://twitter.com/statuses/update.xml'
" status ="の後のコマンドの変更に注意してください。 \!^
は、エイリアス自体の後に渡された最初の引数を挿入するようコード行に指示します。
ファイルを保存します。
新しい端末で次のように入力して、twitterの更新を実行できます。
tw 'my first post to twitter via the terminal, using aliases'
「特別な」文字(感嘆符など)をエスケープ文字 \
(つまり、 \!
)でエスケープすることを忘れないでください
Twitterでは基本認証がサポートされなくなったため、目標を達成するにはOAuthを使用する必要があります。
ただし、ターミナルを使用してTwitterに投稿するだけの場合は、多くのアプリケーションで投稿できます。 Rainbowstream または t
rainbowstreamでは、次の行を使用してコンソールからツイートできます:
$ sudo pip install rainbowstream
$ rainbowstream
[@yourscreenname]t whatever you want