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

Bashコマンドシェル用に記述されたスクリプトに関する質問。エラー/構文エラーのあるシェルスクリプトについては、ここに投稿する前に、shellcheckプログラム(またはhttps://shellcheck.netのWeb shellcheckサーバー)で確認してください。Bashのインタラクティブな使用に関する質問は、スタックオーバーフローよりもスーパーユーザーで話題になる可能性が高くなります。

11
行番号なしのBash履歴
bash historyコマンドは非常に優れています。行番号が表示される理由は理解していますが、historyコマンドを呼び出して行番号を非表示にする方法はありますか? ここでのポイントは、historyコマンドを使用することなので、返信しないでください。 cat ~/.bash_history 現在の出力: 529 man history 530 ls 531 ll 532 clear 533 cd ~ 534 history 歴史的なグラフィックソース。 望ましい出力: man history ls ll clear cd ~ history 歴史的なグラフィックソース。 あなたの素晴らしい解決策をみんなに感謝します。Paulは最も単純で、bash履歴のサイズが2000に設定されているので、私にとってはうまくいきます。 今朝見つけたクールな記事も共有したかった。私が現在使用しているいくつかの良いオプションがあります。たとえば、bash履歴に重複したエントリを入れないようにしたり、複数のbashセッションが履歴ファイルを上書きしないようにしたりします。http://blog.macromates.com/2008/working-with -history-in-bash /
129 linux  bash 

13
netcatを使用する最小限のWebサーバー
netcat(nc)を使用して最小限のWebサーバーをセットアップしようとしています。たとえば、ブラウザーがlocalhost:1500を呼び出すと、関数の結果が表示されます(以下の例では日付ですが、最終的にはデータを生成するpythonまたはcプログラムになります)。私の小さなnetcat Webサーバーは、おそらく次のように単純なbashのwhile trueループである必要があります。 while true ; do echo -e "HTTP/1.1 200 OK\n\n $(date)" | nc -l -p 1500 ; done これを試してみると、ncが起動した瞬間に現在利用可能なデータがブラウザに表示されます。しかし、ブラウザが要求した瞬間にブラウザがデータを表示したいのですが。どうすればこれを達成できますか?
129 bash  webserver  netcat 


17
Gitで複数のリモートブランチを削除する
私のチームメンバーには、うっかりして150以上のローカルブランチを中央リポジトリにプッシュしました。ありがたいことに、それらはすべて同じ接頭辞を持っています。そのプレフィックスを使用して、一度にそれらすべてを削除するgitコマンドまたはクールな小さなシェルスクリプトはありますか?
128 git  bash 

8
コマンドラインを使用して、プロセスの開始後にSTDERR / STDOUTをリダイレクトしますか?
シェルではリダイレクト> <などを行うことができますが、プログラムが開始された後はどうですか? これが私がこの質問をするようになった方法です。私の端末のバックグラウンドで実行されているプログラムが迷惑なテキストを出力し続けます。これは重要なプロセスなので、テキストを回避するために別のシェルを開く必要があります。>/dev/null同じシェルで作業を続けることができるように、他のリダイレクトができるようにしたいと思います。
127 linux  bash  shell 

11
Unixタイムスタンプを日付文字列に変換する
UnixコマンドラインからUnixタイムスタンプを日付に変換する簡単な方法はありますか? date各要素(月、日、年、時間など)を指定するのがかなり厄介で、適切に機能させる方法を理解できないことを除いて、機能する可能性があります。もっと簡単な方法があるようです-私は何かを逃していますか?

3
スクリプトの実行中にのみ環境変数を設定するにはどうすればよいですか?
Linux(Ubuntu 11.04)でbashを使用している場合、スクリプトの実行中に通常の変数とのみ異なる環境変数を一時的に設定することはできますか?たとえば、シェルスクリプトで、HOMEに保存するアプリを一時的にHOMEを現在の作業ディレクトリのフォルダーに設定し、アプリを起動することでポータブルにします。

6
シェルスクリプトで16進数から10進数へ
誰かがシェルスクリプトで16進数を10進数に変換するのを手伝ってくれる? たとえば、bfca3000シェルスクリプトを使用して、16進数を10 進数に変換したいとします。基本的に、2つの16進数の差を求めています。 私のコードは: var3=`echo "ibase=16; $var1" | bc` var4=`echo "ibase=16; $var2" | bc` var5=$(($var4-$var3)) # [Line 48] 実行すると、次のエラーが発生します。 Line 48: -: syntax error: operand expected (error token is "-")
126 bash  shell  hex  decimal 

11
sedを使用して文字列から最初のX文字を削除するにはどうすればよいですか?
小さな産業用ボックスに埋め込まれたLinux用のシェルスクリプトを書いています。テキストpid: 1234を含む変数があり、行から最初のX文字を削除したいので、1234しか残りません。「クリーン」にする必要のある変数がさらにあるので、最初のX文字を切り取る必要があり${string:5}、システムで何らかの理由で機能しません。 箱にあるように見える唯一のものはsedです。 私は以下を機能させるようにしています: result=$(echo "$pid" | sed 's/^.\{4\}//g') 何か案は?
126 bash  shell  sed 

9
そのユーザーとしてsuを使用して残りのbashスクリプトを実行するにはどうすればよいですか?
ユーザー名とプロジェクトを連結した文字列を引数として取るスクリプトを作成しました。スクリプトは、ユーザー名に切り替え(su)、プロジェクト文字列に基づいて特定のディレクトリに移動することになっています。 私は基本的にやりたいです: su $USERNAME; cd /home/$USERNAME/$PROJECT; svn update; 問題は、一度suを実行すると...そのまま待機することです。実行フローがユーザーへの切り替えに渡されているため、これは理にかなっています。終了すると、残りの処理は実行されますが、期待どおりに動作しません。 suをsvnコマンドの前に付加しましたが、コマンドは失敗しました(つまり、目的のディレクトリのsvnを更新しませんでした)。 ユーザーがユーザーを切り替えて(特に)svnを起動できるスクリプトを作成するにはどうすればよいですか?



9
Linuxでgrepを使用してdos行末(CRLF)を含むファイルをどのように検索しますか?
Linuxでgrepを使用してdos行末を含むファイルを検索したい。このようなもの: grep -IUr --color '\r\n' . 上記はリテラルrnと一致するようですが、これは望ましいことではありません。 この出力は、xargsを介してtodosにパイプされ、このようにcrlfをlfに変換されます grep -IUrl --color '^M' . | xargs -ifile fromdos 'file'
126 linux  bash  grep  newline 


11
$ PATH変数から冗長パスを削除します
$ PATH変数に同じパスを6回定義しました。 動作するかどうかを確認するためにログアウトしていませんでした。 重複を削除するにはどうすればよいですか? $ PATH変数は次のようになります。 echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin:/home/flacs/Programmes/USFOS/bin どうすればリセットできますか /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

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