2015-05-28 3 views
0

Это не домашнее задание.В чем разница между приведенными ниже сценариями sh

Я новичок в сценарии оболочки и обучения самостоятельно.

Пожалуйста, помогите мне в дифференцировании НИЖЕ два сценария

MY_NAME=$(echo "$FILELIST" | grep $MY_NAME) 
MY_NAME=$(ls -1 $MY_NAME) 
+0

Они делают две совершенно разные вещи. Вы знакомы с командами 'ls',' grep' и 'echo'? –

+0

просто копировать/вставлять «атомы» из каждой в командную строку, работая изнутри внутрь, т. Е. Копировать «echo» $ FILELIST »| grep $ MY_NAME'. Что это дает? Но ... oops, $ FILELIST и $ MY_NAME являются переменными. Где назначены значения? Вам нужно что-то вроде «MY_NAME =» Oracle Nerd »; FILELIST = "file1 file2 file3" '. Научитесь использовать 'set -vx', чтобы увидеть строку кода, которая будет выполнена (с показом $ VAR_NAMES), а затем строка с' + 'спереди, которая отображает значения, замещенные из VAR_NAMES. Это команда, которая фактически выполняется. Удачи. – shellter

ответ

0

команду Grep будет отображать только совпадающие строки, а Ls -l выведет список всех файлов в каталоге.

Смежные вопросы