質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

8579閲覧

シェルスクリプトの引数からPSQLでSQL内に値を渡しているのですが更新ができません。

litteone

総合スコア10

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2015/02/10 04:41

編集2015/02/10 06:11

シェルスクリプトからpsqlでupdate文を実行しているのですがSQL文を発行した時点で落ちてるようで更新できません。 SQL文内の変数の使い方が間違っているのでしょうか

lang

1#!/bin/sh 2 3PSQL=/usr/local/pgsql/bin/psql 4DB=TEST 5VALUE=$1 6 7if [ $# -ne 1 ]; then 8 echo "指定された引数は$#個です。" 1>&2 9 echo "実行するには1個の引数が必要です。" 1>&2 10 exit 1 11fi 12 13${PSQL} -U user -d ${DB} -c "\ 14UPDATE \ 15 TEST_TABLE \ 16SET \ 17 RYAKU_NM = '$VALUE'; \ 18" > /dev/null 2> /dev/null 19 20exit 0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

UPDATEの行末の\が無いですね。

投稿2015/02/10 04:58

argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

litteone

2015/02/10 06:12

すいません!脱字でした。
litteone

2015/02/10 06:20

結果は更新されないままです。。。
argius

2015/02/10 06:27

エラーが出ていますか? もしくはcommitは自動になっていますか?
litteone

2015/02/10 06:48

エラは出ておりません。またCOMMITは自動です。
argius

2015/02/10 06:59

> /dev/null 2> /dev/null をコメントアウトして、出力を確認してみてください。
litteone

2015/02/10 08:13

> /dev/null 2> /dev/null をコメントアウトして確認してみたら、「UPDATE 1」 と表示され正常に更新出来ました! /dev/null 2> /dev/null が必要ないのでしょうか。
argius

2015/02/10 08:20

/dev/null 2> /dev/nullは、コマンド(今回の場合はpsql)からの標準出力(STDOUT)と標準エラー出力(STDERR)を捨てる操作なので、アップデートできないこととは関係ないと思います。 メッセージを出しておかないと何かあった時に困るので、せめてログファイルにリダイレクトしたほうが良いですね。
litteone

2015/02/10 09:52

わかりました。いろいろと丁寧にありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問