質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

185閲覧

liunx シェルスクリプト

tyapapa

総合スコア51

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2017/09/20 12:59

コード

・引数で指定されたパスを、通常ファイルなのかディレクトリなのかを表示。 ・ディレクトリであれば、その中に含まれているファイル一覧を表示。 ・通常のファイルであれば、ファイルの先頭5行を表示。 がしたいです。 ###発生している問題・エラーメッセージ ディレクトリやファイルを引数として渡して、実行しても何も表示されません。 ですが存在しないディレクトリなどを渡した場合はちゃんとエラーメッセージを吐いてくれます。

無し。

###該当のソースコード

シェルスクリプト言語
コード

#!/bin/bash file=$1 if [ -d "$file" ]; then echo"ls -l($file) | grep ^d ($file)" elif [ -f "$file" ]; then echo"head -n 5 ($file)" fi

###試したこと
課題に対してアプローチしたことを記載してください

###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

骨組みは合ってます。echoを付けているのはデバッグ用?

Bash

1#!/bin/bash 2 3file=$1 4 5if [ -d "$file" ]; then 6 #ファイル名だけを表示したい場合 7 ls "$file" 8 #日付長さなども表示したい場合 9 ls -l "$file" 10elif [ -f "$file" ]; then 11 head -n 5 $file 12fi

投稿2017/09/20 13:07

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tyapapa

2017/09/20 13:15 編集

echoは結果を表示するために書いたのですけどなくても大丈夫ですか?
otn

2017/09/20 13:42

echoは引数を表示するコマンドです。 コマンドを実行するのでなくコマンド文字列を表示させたいのなら使いますが、コマンドを実行させたいなら付けちゃ駄目です。
tyapapa

2017/09/20 13:45

よくわかりました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問