कमांड which नीचे दी गई स्क्रिप्ट पर लाइन 4 पर एक समस्या है, इंटेलीज कहते हैं

जो गैर मानक है। इसके बजाय बिल्टिन 'कमांड-वी' का प्रयोग करें

चूंकि which psql ऐसा लगता है कि यह काम नहीं कर रहा है, यह स्वचालित रूप से लाइन 12 और 13 को प्रभावित करता है।

जांच करते समय मैंने लाइन ४ को हटा दिया, फिर स्क्रिप्ट ने लाइन ६ से १० को निष्पादित किया, जिसने सफलतापूर्वक एक डॉकर फ़ाइल (pg-docker) बनाई, हालाँकि मुझे schema.sql (लाइन १२) और data.sql (१३) की भी आवश्यकता है। निष्पादित। क्या which कमांड के लिए कोई वैकल्पिक कमांड है (पंक्ति 4)

नीचे मेरी बैश स्क्रिप्ट है:

#!/usr/bin/env bash
set -euo pipefail

which psql > /dev/null || (echo "Please ensure that postgres client is in your PATH" && exit 1)

mkdir -p $HOME/docker/volumes/postgres
rm -rf $HOME/docker/volumes/postgres/data

docker run --rm --name pg-docker -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=dev -d -p 432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql postgres
sleep 3
export PGPASSWORD=postgres
psql -U postgres -d dev -h localhost -f schema.sql
psql -U postgres -d dev -h localhost -f data.sql

मैं Intellij . पर समस्याओं पर नीचे मिलता हूं

enter image description here

पंक्ति 4 किस कमांड के बारे में शिकायत करती है
लाइन ६,७ और ९ $HOME
. के बारे में शिकायत करते हैं लाइन 11 PGPASSWORD के बारे में शिकायत करती है

-3
Tinyiko Chauke 25 सितंबर 2020, 13:23

1 उत्तर

सबसे बढ़िया उत्तर

which का उपयोग कमांड का पूरा पथ खोजने और दिखाने के लिए किया जाता है (आपकी स्क्रिप्ट में इसका उपयोग केवल यह सुनिश्चित करने के लिए किया जाता है कि कमांड psql है)। IntelliJ या शायद बेहतर परिभाषित लिंटर (बैश) स्क्रिप्ट के लिए एक अलग whichकमांड पर भरोसा नहीं करने का सुझाव है, लेकिन बस बिल्टिन बैश-फ़ंक्शन command -v का उपयोग करें ताकि लाइन 4 पढ़ सके

command -v psql > /dev/null || (echo "Please ensure that postgres client is in your PATH" && exit 1)

उसने कहा - यह सबसे अधिक संभावना है कि आपकी वास्तविक समस्या नहीं है। लाइन 12 और 13 में कमांड चलाने के लिए आपको PostgreSQL क्लाइंट psql इंस्टॉल करना होगा और अपने PATH वैरिएबल में। ठीक यही आप लाइन 4 में चेक कर रहे हैं - कौन सा या <कोड>कमांड -vpsql कमांड को कैसे इंस्टाल करें यह आपके ओएस पर निर्भर करता है।

1
urfin78 25 सितंबर 2020, 13:36