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

Bashは、GNUプロジェクトのUnixライクなオペレーティングシステム用の無料のシェルです。


6
「シェル」と「バッシュ」という用語の違いは何ですか?
「シェル」と「バッシュ」の違いは何ですか?これらの用語の意味は何ですか? 私の知る限り、違いはありません。しかし、「シェル」に関する本や「バッシュ」に関する他の本を見てきました。 だから、Mac OS Xのターミナルで作業し、bashスクリプトを書きたい場合、どの種類の本を選べばいいのか疑問に思う。
11 macos  bash  shell 

5
Linuxには、終了するまで待機するコマンドがありますか?
ポート転送でputty / plinkを開始するWindowsバッチファイルを作成しようとしていますが、それ以外は何もしません。これで、Windowsの部分の準備ができました。 start plink.exe -ssh -i key.ppk -L 1234:localhost:80 sampleUser@192.168.0.1 認証後に他のコマンドの実行を許可したくないのでForceCommand、Match User宣言で使用しています: Match User sampleUser ForceCommand echo 'Success! Close this window to log out.' 問題は、バッチファイルを実行するとパテが正しく起動するが、指定したテキストのエコーを実行した直後に閉じることです。 私の考えは、次のようなものを使用することです。 ForceCommand echo 'Success! Close this window to log out.' && waitTillControlC このようにして、putty / SSHは接続を維持し、ポート転送を終了しません。 yes、pingまたはのようなコマンドを考えましたreadが、それらは 端末ウィンドウをスパムしています 実際に何かをしている/不必要なCPU負荷を生成している 誰かがEnterキーを押すと、突然終了する可能性があります 誰かがCtrl + Cで終了するか、パテウィンドウを閉じてSSH接続を閉じるまで、永久に何もしないコマンドはありますか? 何に使うべきwaitTillControlCですか?
11 linux  bash  ssh  terminal  putty 

2
bashプロンプト(PS1)を手動で設定すると、rootが#ではなく$を持つようになるのはなぜですか?
CentOS 6.4を使用しています。デフォルトでは、rootユーザーのプロンプトには#記号があります[root@myserver ~]# 。つまり、のようなものです。 echo $PS1印刷し[\u@\h \W]\$ます。しかし、もしそうするならPS1="[\u@\h \W]\$"(何も変えてはいけない、afaics)、次のようなプロンプトが表示されます[root@myserver ~]$。 自分で設定しようとすると(最終的にはもっと便利なものに変更したいのですが)、$文字どおりに解釈されるのはなぜですか?私が見つけることができるほぼすべてのページ(例:方法:bashカスタムプロンプト(PS1)の変更/設定)には、rootユーザーに対して\$a が必要であると書かれてい#ます。
11 bash  prompt 


5
中間サーバーにsftpする必要がありますか?
特定のホストに直接sftpできません。ホームマシンからホストにファイルを移動するには、中間ホストにファイルをsftpする必要があります。中間ホストへのssh。ファイルを最終的な宛先にsftpします。そのような狂気を避けることは可能ですか?
11 linux  bash  unix  ssh  sftp 



5
並列シェルループ
私は多くのファイルを処理したいのですが、ここにたくさんのコアがあるので、並行してやりたいです: for i in *.myfiles; do do_something $i `derived_params $i` other_params; done Makefile ソリューションは知っていますが、コマンドにはシェルグロビングリストにない引数が必要です。私が見つけたのは: > function pwait() { > while [ $(jobs -p | wc -l) -ge $1 ]; do > sleep 1 > done > } > これを使用するには、ジョブとpwait呼び出しの後に実行するだけで、パラメーターは並列プロセスの数を示します。 > for i in *; do > do_something $i & > …

6
シェル内の単一引用符をエスケープする方法はありますか?
例 私は言いたい perl -e 'print '"'"'Hello, world!'"'"', "\n";' 一重引用符をエスケープするなど、それほど厄介な方法はありますか? はい、私は書くことができることを知っています perl -e 'print q[Hello, world!], "\n"' perl -e 'print "Hello, world!\n"' しかし、この質問は、Perlではなくシェルで引用することに関するものです。 私はそれを行うにはどのように興味bashとcsh最初の場所で。

4
Linuxのシェル関数はどこに保存されますか?
最初にwhich、特定のプログラムを引数として与えた後に何も出力しない理由を探していましたcd。 私がここで見つけたものから、その理由はおそらくcd私のマシン上にあることであり、それはを実行することで確認されますtype cd。 TLDR:しかし、変数のwhichおかげで見つけることができる通常のプログラム$PATHがそれらの$PATHフォルダーの1つに配置されると、関数やスクリプトはどこにcd保存されますか? user@linuxmchine:~$ type cd cd is a function cd () { __zsh_like_cd cd "$@" }

2
「太字」と入力してOS X端末コマンドを作成する
ターミナルに入力(入力)したコマンドをすべての出力から目立たせたい。 例えば: imac:〜buster $ chmod -R gw myfolder imac:〜buster $ cd myfolder imac:myfolder buster $ ls -l total 0 drwxr-xr-x 9 root admin 306 Apr 20 2010 bin drwxr-xr-x 7 root admin 238 Apr 20 2010年 drwxr-xr-x 73ルート管理者2482 5月18日17:16 lib drwxr-xr-x 6ルート管理者204 2010年4月20日man imac:myfolder buster $ echo Go Giants! 巨人だ! …

3
./bla.sh vs.を使用してスクリプトを呼び出す bla.sh
以下の2つの例A)とB)で、シェルが何をするのか説明してくれる人はいますか?明らかに異なる動作をしますが、出力が異なる理由はわかりません。 例: 現在のディレクトリにbla.sh、1つのコマンドだけで名前が付けられたスクリプトを作成します。 echo ${0##/*} hello A)次のように 開始:./bla.sh 与える:./bla.sh hello B)次のように 開始. bla.sh :-bash hello スクリプトでこれを使用しているので、2番目の出力(-bashの前の "-"のため)はコマンドを強制終了します。もちろん、助けになる--前に簡単です${...}が、そもそも出力の原因を理解したいと思います。私はbashが大好きです。そしてvi [m]。しかし、私は脱線します...
11 unix  bash  script 

1
[0-9]を[AJ]に置き換えてsedで動作しない
私は、0から9のすべての数字を、sedの対応する文字に置き換えるコマンドを作成しています。私は何か間違ったことをしていることは知っていますが、sedは置換正規表現を文字列リテラル以外のものとして解釈していません。 私が使用しているコマンドは sed -r 's/[0-9]/[A-J]/g' log > ~/output.txt それは私にはかなり簡単に思えますが、私は約1時間それにこだわっています。私が受け取る出力は、文字列「[AJ]」で0-9を置き換えます

2
Windows用のboot2dockerでホストからディレクトリをマウントする
私はdocker 1.6とboot2dockerWindows 8.1ボックスを実行しています。Boot2Docker Startショートカットを使用すると、cygwin bashプロンプトが表示され、そこでdockerコマンドをネイティブに実行できます。 ユーザーフォルダからディレクトリをマウントするのに問題があります。私はもう試した: $ docker run -d --name abe -v $APPDATA/Bitcoin:/datadir poliver/bitcoin-abe エラーが表示されます: invalid value "C:\\Users\\someone\\AppData\\Roaming/Bitcoin:/datadir" for flag -v: \Users\someone\AppData\Roaming/Bitcoin:/datadir is not an absolute path See 'c:\Program Files\Boot2DockeForWindows\docker.exe run --help'. これらの方法で呼び出すと、同じ結果が得られます。 $ docker run -d --name abe -v "$APPDATA/Bitcoin":/datadir poliver/bitcoin-abe $ docker run -d --name abe -v …

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