タグ付けされた質問 「shell」

「シェル」という用語は、UnixおよびLinuxオペレーティングシステムに最も頻繁に関連付けられている、テキストベースの対話型コマンドインタープリターの一般的なクラスを指します。シェルスクリプトに関する質問については、「bash」、「powershell」、「ksh」などのより具体的なタグを使用してください。特定のタグがない場合は、ポータブル(POSIX準拠)ソリューションを想定する必要がありますが、「posix」を追加するか、代わりに「sh」を使用することをお勧めします。

9
STDOUTとSTDERRの両方をターミナルとログファイルに移動するにはどうすればよいですか?
技術者以外のユーザーがインタラクティブに実行するスクリプトがあります。スクリプトは、ユーザーがスクリプトが正常に実行されていることを確認できるように、ステータスの更新をSTDOUTに書き込みます。 STDOUTとSTDERRの両方をターミナルにリダイレクトしてください(ユーザーがスクリプトが機能していることを確認できるようにしたり、問題があったかどうかを確認したりできます)。また、両方のストリームをログファイルにリダイレクトする必要があります。 私はネットでたくさんの解決策を見てきました。機能しないものもあれば、恐ろしく複雑なものもあります。私は実行可能なソリューションを開発しました(答えとして入力します)が、それは扱いにくいです。 完璧な解決策は、両方のストリームをターミナルとログファイルの両方に送信するスクリプトの先頭に組み込むことができる1行のコードです。 編集: STDERRをSTDOUTにリダイレクトし、結果をT型にパイプすることは機能しますが、出力をリダイレクトしてパイプすることを覚えているユーザーに依存します。ロギングを誰にでもできる自動化したいのです(そのため、スクリプト自体にソリューションを埋め込むことができます。)
103 bash  logging  shell 

7
プロセスの戻り値を無効にするにはどうすればよいですか?
プロセスが返す値を否定する、単純ですがクロスプラットフォームのnegate - processを探しています。0をある値!= 0および任意の値!= 0から0にマップする必要があります。つまり、次のコマンドは「はい、存在しないパスは存在しません」を返す必要があります。 ls nonexistingpath | negate && echo "yes, nonexistingpath doesn't exist." !!-演算子は素晴らしいですが、残念ながらシェルに依存しません。

12
行全体が一致する場合にのみgrepを一致させる方法は?
私はこれらを持っています: $ cat a.tmp ABB.log ABB.log.122 ABB.log.123 ABB.logの完全一致を見つけたいと思っていました。 しかし、私がしたとき $ grep -w ABB.log a.tmp ABB.log ABB.log.122 ABB.log.123 それらのすべてが表示されます。 grepを使用して必要なものを入手できますか?
102 shell  unix  grep 


7
インストールされているnltk、scikit学習のバージョンを確認する方法
シェルスクリプトで、このパッケージがインストールされているかどうかを確認しています。インストールされていない場合は、インストールしてください。だからシェルスクリプトを使って: import nltk echo nltk.__version__ しかし、それはimport行でシェルスクリプトを停止します Linuxターミナルでこの方法で見ようとしました: which nltk インストールされているとは考えられません。 シェルスクリプトでこのパッケージのインストールを確認する他の方法はありますか?インストールされていない場合は、それもインストールします。


6
Linux bash /シェルで画像をbase64エンコードする方法
私はシェルスクリプトで画像をbase64エンコードして変数に入れようとしています: test="$(printf DSC_0251.JPG | base64)" echo $test RFNDXzAyNTEuSlBH 私は次のようなことも試しました: test=\`echo -ne DSC_0251.JPG | base64\` しかし、まだ成功していません。 私はこのようなことをしたいです: curl -v -X POST -d '{"image":$IMAGE_BASE64,"location":$LOCATION,"time_created":$TIMECREATED}' -H 'Content-type: text/plain; charset=UTF8' http://192.168.1.1/upload 私はこれを見つけましたhttp://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html しかし、まだ成功していません。
102 linux  image  shell  variables  base64 

10
Bashを使用したファイル名の一括変更
Bashが一連のパッケージの名前を変更してバージョン番号を削除するにはどうすればよいですか?私はとの両方exprをいじっていましたが、役に立ち%%ませんでした。 例: Xft2-2.1.13.pkg なる Xft2.pkg jasper-1.900.1.pkg なる jasper.pkg xorg-libXrandr-1.2.3.pkg なる xorg-libXrandr.pkg
101 bash  shell  file-rename 


6
コマンドラインパラメータの「-」(ダッシュ)の魔法は何ですか?
例: ISOイメージを作成し、直接CDに書き込みます。 mkisofs -V Photos -r /home/vivek/photos | cdrecord -v dev=/dev/dvdrw - 前のディレクトリに移動します。 cd - ポート12345でリッスンし、送信されたデータをuntarします。 nc -l -p 12345 | tar xvzf - ダッシュの目的は何ですか?どのように使用しますか?
101 linux  bash  shell  unix  command-line 



9
猫の無駄使い?
これはおそらく多くのFAQにあります-代わりに: cat file | command (猫の無用な使用と呼ばれます)、正しい方法は次のとおりです: command < file 2番目の「正しい」方法-OSは余分なプロセスを生成する必要がありません。 それを知っていたにも関わらず、2つの理由で無駄な猫を使い続けました。 より美的-データが左から右にのみ均一に移動するのが好きです。そして、それは簡単に交換するためにcat何か他のものを(gzcat、echo、...)、第二のファイルを追加したり、新しいフィルタを挿入します(pv、mbuffer、grep...)。 場合によってはもっと速いかもしれないと「感じた」。2つのプロセスがあるため、1番目のプロセス(cat)が読み取りを実行し、2番目のプロセスが何でも実行するため、より高速です。また、それらは並行して実行できます。つまり、実行が高速になる場合があります。 私のロジックは正しいですか(2番目の理由)?
101 shell  command-line  cat 

6
シェルスクリプトからWebブラウザーを起動するクリーンな方法?
bashスクリプトで、ユーザーのWebブラウザーを起動する必要があります。これを行うには多くの方法があるようです: $BROWSER xdg-open gnome-open GNOME www-browser x-www-browser ... これを行うには、ほとんどのプラットフォームで機能する、より標準的な方法がありますか?それとも、次のようなものを使うべきですか? #/usr/bin/env bash if [ -n $BROWSER ]; then $BROWSER 'http://wwww.google.com' elif which xdg-open > /dev/null; then xdg-open 'http://wwww.google.com' elif which gnome-open > /dev/null; then gnome-open 'http://wwww.google.com' # elif bla bla bla... else echo "Could not detect the web browser to use." …

10
シェルスクリプトだけを使用してテキストファイルから特定の行を取得する
テキストファイルから特定の行を取得しようとしています。 これまでのところ、オンラインではsedのようなものしか見ていません(bashやsedなどではなく、shしか使用できません)。これを行うには、基本的なシェルスクリプトのみを使用する必要があります。 cat file | while read line do #do something done 上記のように、行を反復する方法を知っていますが、特定の行のコンテンツを取得する必要がある場合はどうなりますか?
100 linux  shell  unix  sh 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.