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

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

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

5
シェルスクリプトで呼び出された関数からの戻り値
シェルスクリプトで呼び出された関数から値を返したいのですが。構文が足りない可能性があります。グローバル変数を使ってみました。しかし、それもうまくいきません。コードは次のとおりです。 lockdir="somedir" test() { retval="" if mkdir "$lockdir" then # Directory did not exist, but it was created successfully echo >&2 "successfully acquired lock: $lockdir" retval="true" else echo >&2 "cannot acquire lock, giving up on $lockdir" retval="false" fi return retval } retval=test() if [ "$retval" == "true" ] then echo …


13
Bashループのカウンターの増分が機能しない
ループを実行していて、を維持したい次の簡単なスクリプトがありCOUNTERます。カウンターが更新されない理由を理解できません。サブシェルが作成されるためですか?どうすればこれを修正できますか? #!/bin/bash WFY_PATH=/var/log/nginx WFY_FILE=error.log COUNTER=0 grep 'GET /log_' $WFY_PATH/$WFY_FILE | grep 'upstream timed out' | awk -F ', ' '{print $2,$4,$0}' | awk '{print "http://domain.com"$5"&ip="$2"&date="$7"&time="$8"&end=1"}' | awk -F '&end=1' '{print $1"&end=1"}' | ( while read WFY_URL do echo $WFY_URL #Some more action COUNTER=$((COUNTER+1)) done ) echo $COUNTER # output = …
125 linux  bash  shell  scripting  counter 

11
Unix-フォルダーとファイルのパスを作成する
私はあなたがmkdirディレクトリtouchを作成し、ファイルを作成するためにできることを知っていますが、両方の操作を一度に行う方法はありませんか? つまり、フォルダotherが存在しないときに以下を実行したい場合: cp /my/long/path/here/thing.txt /my/other/path/here/cpedthing.txt エラー: cp: cannot create regular file `/my/other/path/here/cpedthing.txt': No such file or directory 誰かがこれの回避策として機能を考え出しましたか?
125 linux  bash  shell  unix  scripting 

9
Pythonシェルにタブ補完を追加するにはどうすればよいですか?
を使用してdjangoアプリケーションを起動するとpython manage.py shell、InteractiveConsoleシェルが表示されます-タブ補完などを使用できます。 Python 2.5.1 (r251:54863, Apr 15 2008, 22:57:26) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) を使用してpythonインタープリターを開始するだけpythonでは、タブ補完は提供されません。 誰かが私にインタラクティブコンソールを提供するためにdjangoが何をしているのか、またはdjangoアプリなしでインタラクティブコンソールを起動するために何をする必要があるのか​​教えてもらえますか?

8
シェルで文字列の最後の文字を取得する方法は?
文字列の最後の文字を取得するために、次の行を記述しました。 str=$1 i=$((${#str}-1)) echo ${str:$i:1} それはのために働きabcd/ます: $ bash last_ch.sh abcd/ / 次の場合は機能しませんabcd*。 $ bash last_ch.sh abcd* array.sh assign.sh date.sh dict.sh full_path.sh last_ch.sh 現在のフォルダ内のファイルが一覧表示されます。
125 string  bash  shell 

3
Ansibleで複数行のシェルスクリプトを実行する方法
今私はそれが複数の行にあった場合はるかに読みやすいはずのansibleでシェルスクリプトを使用しています - name: iterate user groups shell: groupmod -o -g {{ item['guid'] }} {{ item['username'] }} ....more stuff to do with_items: "{{ users }}" Ansibleシェルモジュールで複数行スクリプトを許可する方法がわからない
125 shell  ansible 

6
IFS = $ '\ n'の正確な意味は何ですか?
IFS環境変数を改行文字に設定する次の例の場合... IFS=$'\n' 何をしないドル記号は意味 を正確に? この特定のケースでは何をしますか? この特定の使用法の詳細はどこで確認できますか(Googleは検索で特殊文字を許可しておらず、他に何を探すべきかわかりません)? IFS環境変数と\n文字(ラインフィード)は知っていますが、次の形式を使用しないのはなぜ IFS="\n"ですか(これは機能しません)? たとえば、ファイルのすべての行をループしてforループを使用したい場合は、次のようにします。 for line in (< /path/to/file); do echo "Line: $line" done ただし、がIFS改行文字に設定されていない限り、これは正しく機能しません。これを機能させるには、次のようにする必要があります。 OLDIFS=$IFS IFS=$'\n' for line in (< /path/to/file); do echo "Line: $line" done IFS=$OLDIFS 注:同じことをするのに別の方法は必要ありません。他にもたくさん知っています...私はそれについて知りたいだけで$'\n'、誰かが私にそれについて説明してくれるかどうか疑問に思っています。

10
os.system()呼び出しをエスケープする方法は?
os.system()を使用する場合、コマンドにパラメーターとして渡されるファイル名やその他の引数をエスケープする必要があることがよくあります。これどうやってするの?できれば、複数のオペレーティングシステム/シェルで機能するものですが、特にbashの場合に適しています。 私は現在次のことをしていますが、これにはライブラリ関数、または少なくともよりエレガントで堅牢で効率的なオプションが必要です。 def sh_escape(s): return s.replace("(","\\(").replace(")","\\)").replace(" ","\\ ") os.system("cat %s | grep something | sort > %s" % (sh_escape(in_filename), sh_escape(out_filename))) 編集:私は引用符を使用するという単純な答えを受け入れましたが、なぜそれを考えなかったのかわかりません。'と "の動作が少し異なるWindowsから来たのだと思います。 セキュリティに関しては、私は懸念を理解していますが、この場合、os.system()が提供する迅速で簡単な解決策に興味があり、文字列のソースはユーザーが生成したものではないか、少なくとも信頼できるユーザー(私)。
123 python  shell  escaping 


7
Bashを使用して文字列内の文字の出現をカウントする
Bashを使用して文字列内のcharの出現回数を数える必要があります。 次の例では、チャー(例えば)である場合、tそれは、echosはの出現の正確な数tでvarはなく、文字はコンマまたはセミコロンである場合、それはゼロを出力します: var = "text,text,text,text" num = `expr match $var [,]` echo "$num"
123 bash  shell  sh 

7
macOSターミナルでファイルの名前を一括変更する方法
次の名前の一連のファイルを含むフォルダがあります。 prefix_1234_567.png prefix_abcd_efg.png 出力が次のようになるように、1つのアンダースコアと中間のコンテンツを一括削除したいと思います。 prefix_567.png prefix_efg.png 関連するが完全に説明的ではない: ターミナルを使用してファイルの名前を一括変更するにはどうすればよいですか? OS Xターミナルでファイルの名前を一括変更する正規表現

6
jqを使用して2つのファイルから2つのJSONオブジェクトをマージする方法
私が使用しているJQの解析JSONにシェルスクリプトの中で(JQ-JSON-プロセッサ)ツール。 2つのjsonファイルがあり、それらを1つの一意のファイルにマージしたい ここにファイルの内容: file1 { "value1": 200, "timestamp": 1382461861, "value": { "aaa": { "value1": "v1", "value2": "v2" }, "bbb": { "value1": "v1", "value2": "v2" }, "ccc": { "value1": "v1", "value2": "v2" } } } file2 { "status": 200, "timestamp": 1382461861, "value": { "aaa": { "value3": "v3", "value4": 4 }, "bbb": …
123 json  shell  command-line  jq 

11
bashでのnoop [:]の使用例は何ですか?
bash(:)でnoopを検索しましたが、適切な情報を見つけることができませんでした。このオペレーターの正確な目的またはユースケースは何ですか? 私は以下を試してみましたが、それは私にとってはこのように機能しています: [mandy@root]$ a=11 [mandy@root]$ b=20 [mandy@root]$ c=30 [mandy@root]$ echo $a; : echo $b ; echo $c 10 30 このオペレーターの使用例をリアルタイムで、または使用が義務付けられている場所に教えてください。
123 bash  shell  noop 

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