最新記事

キーバインディング機能で端末の編集可能な文字列に値を貼り付けることはできますか?
bash
terminal
keyboard-shortcuts

キーバインディング機能で端末の編集可能な文字列に値を貼り付けることはできますか?

Bashバインディングについて知っています。 bind -x '"\C-k":"mc"'- この例では、編集可能なコマンドが完了していない間にmcを実行できます。このようにして多くのマクロを実行できると思います。これはX11なしで作業するときに便利です。 次の方法でテスト値を貼り付けようとします。 bind -x '"\C-o":"echo -n 123"' bind -x '"\C-o":"echo -n 123 >> /dev/pts/12" bind -x '"\C-o":"xclip -out"' bind -x '"\C-o":"expect exp.txt"' しかし、結果は 別のアイデア: bashのクリップボード(Ctrl-w、Ctrl-y)を使用してください。 Man bashはこれを「キルリング」と呼びます。しかし、プログラムで使用する方法が見つかりません。 テキストの各文字を押すことをシミュレートするプログラムとしてエコーされます。

Admin

検索テキストとjsonlファイルの間の交差点を見つける
bash
shell-script

検索テキストとjsonlファイルの間の交差点を見つける

jsonl検索テキストと特定のファイルとの交点を検索して検索したいと思います。例は次のとおりです。 検索テキスト: Alice goes to school Jsonlファイルの内容: {"text": "Alice goes to market"} 予想出力: Alice goes to grepを使って実装しようとしましたが、期待した動作は出力されませんでした。

Admin

Tree Command:最終プロジェクトで型の依存関係を回避できますか?
bash
diff
tree

Tree Command:最終プロジェクトで型の依存関係を回避できますか?

私は、ローカルディレクトリを同じディレクトリのUSBバックアップバージョンと比較して、注目すべき/削除できる違いを識別していますtree。diff $ cd home/dir/ $ tree --charset=ascii -af . > ~/tree__local $ cd {usb}/home/dir/ $ tree --charset=ascii -af . > ~/tree__usb $ diff ~/tree__local ~/tree__usb > ~/diff-analysis.txt しかし、ツリーには最後の項目の上位四半期を去る習慣があることがわかりました。まあ、言葉で説明するのは難しいです。 $ tree --charset=ascii -af . . |-- ./bar | |-- ./bar/babushka | |-- ./bar/galeda | `-- ./bar/helga `-- ./foo |-- ./foo/alpha |-- ./foo/beta `-- ./foo/gamma 8 directories, 0 files # add a new final item. $ touch zebra # same command. $ tree --charset=ascii -af . . |-- ./bar | |-- ./bar/babushka | |-- ./bar/galeda | `-- ./bar/helga |-- ./foo | |-- ./foo/alpha | |-- ./foo/beta | `-- ./foo/gamma `-- ./zebra 8 directories, 1 file foo /のファイルがどのように追加のパイプラインブランチを取得するかを確認してください。このdiffコマンドは、ファイル自体が実際にまったく変わらない場合でも、これを違いとして表示します。 これは非常に私の目的には適していません。これを迂回または防止する方法を知っていますか?均一な分岐管を押したままにできますか?マニュアルtreeには、「最後」または「最終」項目の書式設定に関する言及はありません。

Admin

専用スペースを特定のフォルダに動的に制限する
bash
filesystems
mount
partition

専用スペースを特定のフォルダに動的に制限する

私は現在、Ubuntu 16.04でユーザーがファイルを登録してアップロードできるサーバーアプリケーションを構築しています。ユーザーがテラバイト単位のデータをアップロードするのを防ぐために、ユーザーディレクトリのサイズを必要に応じて制限したいと思います。 ユーザーフォルダは次のとおりです。いいえUnixユーザーのフォルダではなく、Webアプリケーションでユーザーのために作成したフォルダです。 これを行うには、サーバーアプリケーションで次のコマンドを呼び出します。 touch /storage/partitionFile truncate -s 1G /storage/partitionFile mke2fs -t ext4 -F /storage/partitionFile mount /storage/partitionFile /home/sizeRestrictedFolder これにより、マイストアのどこかにパーティションファイルが保存され、そのファイルがユーザーフォルダにマウントされます。 出力は次のとおりです(短くするために新しいパーティションのみを表示します)。df -h Filesystem Size Used Avail Use% Mounted on /dev/loop0 11M 108K 9.7M 2% /home/sizeRestrictedFolder これはすべてうまくいきますが、今は再起動後もこれらのインストールを維持し、最終的にはパーティションのサイズを増やしたいと思います。 再起動後のパーティション化の問題では、どのファイルシステムにマウントされるのかわかりません。たとえば、 user1 が/dev/loop0user2 にマウントされているように、動的に編集する/dev/loop1方法がわからないためです。/etc/fstab 私はパーティションのサイズ変更の問題でquotaとfdiskを試しましたが、結局両方は機能しませんでした。 私のアプローチは正しいですか?助けてくれてありがとう。

Admin

コマンドを入力すると、エスケープスペースを「ls」と一緒に使用することはできません。
bash
shell-script
scripting

コマンドを入力すると、エスケープスペースを「ls」と一緒に使用することはできません。

初めて行ってみるところですが、もし逃した部分があると申し訳ありません。 私は現在、すべてのフォルダを検索し、作業を実行する.vmdkファイルを検索するスクリプトを作成しています。ls -lah これは私の現在のスクリプトコードです。 #!/bin/bash parse_dir () { for file in ./**/*[A-Za-z][!-flat][!-thin].vmdk; do #echo "File Found: "${file//\ /\\\ } ls -lah "${file//\ /\\\ }" #vmkfstools -i "${file//\ /\\\ }" -d thin "${file%.vmdk}-thin.vmdk" #echo "New provisioned file: ${file%.vmdk}-thin.vmdk" done } parse_dir スクリプトは、一致するすべてのファイルを次のように出力します。 ls: ./ABC\ Collector/ABC\ Collector.vmdk: No such file or directory しかし!ls -lah ./ABC\ Collector/ABC\ Collector.vmdkこのファイルが存在することを手動で入力しても問題ありません。 ここで何か抜けましたか?

Admin

etc/passwd ファイルで、すべての冗長ユーザーが使用するすべてのシェルを見つけます。
linux
bash
shell-script
shell

etc/passwd ファイルで、すべての冗長ユーザーが使用するすべてのシェルを見つけます。

次のように、/etc/passwdファイルで重複したユーザー名を見つけようとしました。 #!/bin/bash # passwd file are look like below # username : password : user ID : group ID : user ID info : home directory : command shell cut -d: -f1 passwd | sort | uniq -d| while IFS=: read -r user_name; do echo "$user_name" done その後、これらのすべての冗長ユーザーの中で使用されるユニークなシェルのリストを見つけようとしました。しかし、何をすべきかわかりません。 これらすべての冗長ユーザーが使用する一意のシェルを表示する方法はありますか? 私のetc/passwdファイルは次のとおりです。 imshakil:x:1000:1000:Mobarak Hosen Shakil,,,:/home/imshakil:/bin/bash nm-openvpn:x:122:129:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin lightdm:x:123:131:Light Display Manager:/var/lib/lightdm:/bin/false hadoop:x:1001:1001:Bigger Hadoop,,,:/home/hadoop:/bin/bash sshd:x:124:65534::/run/sshd:/usr/sbin/nologin root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync gdm:x:121:127:Gnome Display Manager:/var/lib/gdm3:/bin/false imshakil:x:1000:1000:Mobarak Hosen Shakil,,,:/home/imshakil:/bin/bash nm-openvpn:x:122:129:NetworkManager OpenVPN,,,:/var/lib/openvpn/chroot:/usr/sbin/nologin lightdm:x:123:131:Light Display Manager:/var/lib/lightdm:/bin/false hadoop:x:1001:1001:Bigger Hadoop,,,:/home/hadoop:/bin/bash sshd:x:124:65534::/run/sshd:/usr/sbin/nologin 次の出力を取得する必要があります。冗長ユーザー: bin daemon hadoop imshakil lightdm nm-openvpn root sshd sync sys そして、彼らが使用するシェルのリストは次のとおりです。 /bin/bash /bin/false /bin/sync /usr/sbin/nologin (直す)

Admin

1つのきちんとした列に複数の変数を取得するには?
linux
bash
columns
printf

1つのきちんとした列に複数の変数を取得するには?

次のリストを表示したいと思います。 | A | B | Item #1 | 291+4 | 56145+3 | Item #2 | 7391+92 | 105+6067 | しかし、それは次のとおりです。 | A | B | Item #1 | 291+4 | 56145+3 | Item #2 | 7391+92 | 105+6067 | そして listing variables example values item_1_a="291" item_1_a_diff="4" item_1_b="56145" item_1_b_diff="3" item_2_a="7391" item_2_a_diff="92" item_2_b="105" item_2_b_diff="6067" for i in "${array[@]}" do normally acquiring items values occurs here ... item_a="$item_1_a+$item_1_a_diff" item_b="$item_2_a+$item_2_a_diff" prinft "Item \#%s | %-9s | %-9s |" $i $item_a $item_b` done だから問題は、2つの変数を1つの列にきれいに入れることができる方法です。

Admin

親シェルhere-documentはdashのサブコマンドとは機能しませんが、bashが機能するのはなぜですか?
bash
debian
dash

親シェルhere-documentはdashのサブコマンドとは機能しませんが、bashが機能するのはなぜですか?

dash私はdebianstretchで実行しており、次のコマンド(および)はすべてbashbashに入力されます。決してユーザーとして実行されない ようですwhoamiテスト以下のコードのようにダッシュで表示されます。 $ sudo dash << 'end' > su test > whoami > end root $ sudo bash << 'end' > su test > whoami > end test

Admin

以下を試しました。失敗した理由と正しく実行する方法は?
bash
read

以下を試しました。失敗した理由と正しく実行する方法は?

スクリプトは3行の出力を出力します。 $ Filename /a/Resource/.Filename.man.markdown .Filename.man.markdown .Filename man.markdown 私がしたいこと 3行の出力を別の変数に保存したいのですが、どうすればよいですか? 以下を試しました。失敗した理由と正しく実行する方法は? 最初の試行失敗 Filename /a/Resource/.Filename.man.markdown | IFS=$'\n' read -r File1 Filename1 Extension1 echo "$File1 $Filename1 $Extension1" 2回目の試みに失敗しました $ IFS=$'\n' read -r File1 Filename1 Extension1 < <(Filename /a/Resource/.Filename.man.markdown) $ echo "$File1 $Filename1 $Extension1" .Filename.man.markdown

Admin