'тест эха?' печать 'test2', но 'ls тест?' печать ничто

Можно попытаться запустить скрипт с pwd прежде, чем назвать исполняемый файл, чтобы видеть, изменяет ли Ваш сценарий каталог после выполнения первого исполняемого файла.

pwd
../filename {options} {parameters} &
pwd
../filename {options2} {parameters} &
pwd
../filename {options3} {parameters} &
pwd
../filename {options4} {parameters} &
3
01.07.2014, 01:35
1 ответ

Давайте попробуем разобраться с базовым.

mkdir test
touch file
mkdir test1
mkdir test2

? выполняет поиск одного и только одного символа.

Теперь, когда мы вводим команду ls tes? , на выходе будет файл .

Это сработало, потому что мы создали файл внутри каталога. Со страницы руководства ls ,

NAME
       ls - list directory contents

В каталоге test есть файл внутри, поэтому команда ls фактически перечисляет файлы, которые присутствует внутри каталога.

Теперь давайте создадим файл, как показано ниже.

touch ramesh
ls rames?
ramesh

Причина, по которой указанная выше команда сработала, заключается в том, что ramesh является файлом и находится в текущем каталоге (согласно ls , он перечисляет содержимое каталога и в текущем в каталоге есть файл с именем ramesh ).

Теперь давайте создадим каталог с именем ram1 , как показано ниже.

mkdir ram1
ls ram?

Вышеуказанное ничего не выводит. Это потому, что в каталоге ram1 в настоящее время нет файлов. Теперь, если мы создадим еще один каталог с именем ram2 и попробуем, он будет работать, потому что сначала он проверяет, есть ли в каталоге ram1 какие-либо файлы, а затем проверяет, есть ли в каталоге ram2 какие-либо файлы файлы. Помните, что ls работает с сортировкой.

Если вы хотите узнать больше о внутренней работе, введите команду stat .

В этом случае stat ram? будет выдавать результат как

  File: `ram1'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 805h/2053d      Inode: 6743976     Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-06-30 18:17:06.000000000 -0500
Modify: 2014-06-30 18:17:03.000000000 -0500
Change: 2014-06-30 18:17:03.000000000 -0500
1
27.01.2020, 21:31

Теги

Похожие вопросы